<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Web Streams on 吾爱主机</title><link>https://blog.waihost.com/tags/web-streams/</link><description>Recent content in Web Streams on 吾爱主机</description><generator>Hugo -- gohugo.io</generator><language>zh-cn</language><lastBuildDate>Fri, 10 Jul 2026 09:02:00 +0800</lastBuildDate><atom:link href="https://blog.waihost.com/tags/web-streams/index.xml" rel="self" type="application/rss+xml"/><item><title>Node.js 26.5.0 Current 发布：Web Streams、TLS 可观测性与权限模型修复实践指南</title><link>https://blog.waihost.com/posts/nodejs-26-5-current-upgrade-guide/</link><pubDate>Fri, 10 Jul 2026 09:02:00 +0800</pubDate><guid>https://blog.waihost.com/posts/nodejs-26-5-current-upgrade-guide/</guid><description>&lt;img src="https://blog.waihost.com/images/covers/nodejs-26-5-current-upgrade-guide.svg" alt="Featured image of post Node.js 26.5.0 Current 发布：Web Streams、TLS 可观测性与权限模型修复实践指南" /&gt;&lt;p&gt;Node.js 26.5.0 已于 2026-07-08 发布，属于 Current 版本线的一次常规功能与维护更新。它不是安全发布，但包含了几类对后端服务、网关、边缘函数和内部平台都值得关注的变化：&lt;code&gt;Blob&lt;/code&gt; 新增面向流式读取的能力，TLS 协商信息更容易被观测，权限模型在 &lt;code&gt;NODE_OPTIONS&lt;/code&gt; 传播场景下修复了行为一致性问题，同时依赖组件继续更新到较新的版本。&lt;/p&gt;
&lt;p&gt;如果你的生产环境仍以 LTS 为主，不需要因为 Current 版本线的每次发布立即升级线上服务；但如果团队正在验证 Node.js 26、维护基础镜像、做运行时平台适配，26.5.0 很适合作为一次“小步升级 + 回归验证”的窗口。&lt;/p&gt;
&lt;h2 id="这次发布的定位"&gt;&lt;a href="#%e8%bf%99%e6%ac%a1%e5%8f%91%e5%b8%83%e7%9a%84%e5%ae%9a%e4%bd%8d" class="header-anchor"&gt;&lt;/a&gt;这次发布的定位
&lt;/h2&gt;&lt;p&gt;从官方 release index 可以看到，Node.js 26.5.0 的发布日期为 2026-07-08，随附组件版本包括：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;npm：&lt;code&gt;11.17.0&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;V8：&lt;code&gt;14.6.202.34&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;libuv：&lt;code&gt;1.52.1&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;zlib：&lt;code&gt;1.3.2.1-motley&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;OpenSSL：&lt;code&gt;3.5.7&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;ABI modules：&lt;code&gt;147&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;security: false&lt;/code&gt;，即这不是一次安全专版发布&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;这意味着它更适合被理解为 Current 线的功能增强和维护版本，而不是“必须立刻全量升级”的安全补丁。不过，Current 线通常会提前暴露未来 LTS 可能影响应用的运行时变化，平台团队应该尽早把它纳入 CI 验证。&lt;/p&gt;
&lt;h2 id="关键变化一blobtextstream-让文本读取更贴近流式处理"&gt;&lt;a href="#%e5%85%b3%e9%94%ae%e5%8f%98%e5%8c%96%e4%b8%80blobtextstream-%e8%ae%a9%e6%96%87%e6%9c%ac%e8%af%bb%e5%8f%96%e6%9b%b4%e8%b4%b4%e8%bf%91%e6%b5%81%e5%bc%8f%e5%a4%84%e7%90%86" class="header-anchor"&gt;&lt;/a&gt;关键变化一：&lt;code&gt;Blob.textStream()&lt;/code&gt; 让文本读取更贴近流式处理
&lt;/h2&gt;&lt;p&gt;官方发布说明将 &lt;code&gt;blob.textStream()&lt;/code&gt; 列为 notable change。过去我们处理 &lt;code&gt;Blob&lt;/code&gt; 文本内容时，常见方式是一次性调用 &lt;code&gt;blob.text()&lt;/code&gt;：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-js" data-lang="js"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kr"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;text&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kr"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;blob&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;text&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;这种写法简单，但它会把文本内容整体读入内存。对于普通接口请求体、配置片段或小文件来说问题不大；但在日志分析、对象存储网关、上传文件预处理等场景中，一次性读取会放大内存峰值，也不利于和 Web Streams 管线组合。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;Blob.textStream()&lt;/code&gt; 的价值在于：它把“文本内容”暴露为可流式消费的接口，应用可以更自然地接入 &lt;code&gt;ReadableStream&lt;/code&gt;、&lt;code&gt;TextDecoderStream&lt;/code&gt;、分块处理、背压控制等模式。实践中建议关注三类用法：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-js" data-lang="js"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// 伪代码：面向流式消费的处理方式
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kr"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;stream&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;blob&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;textStream&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="kr"&gt;await&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kr"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;chunk&lt;/span&gt; &lt;span class="k"&gt;of&lt;/span&gt; &lt;span class="nx"&gt;stream&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// 分块统计、过滤、写入下游，而不是一次性放进内存
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;processChunk&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;chunk&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;升级验证时不要只跑“能否启动”的 smoke test，应补充大文件和高并发场景，观察 RSS、GC 暂停、吞吐量是否更稳定。&lt;/p&gt;
&lt;h2 id="关键变化二tls-协商组信息更容易排查"&gt;&lt;a href="#%e5%85%b3%e9%94%ae%e5%8f%98%e5%8c%96%e4%ba%8ctls-%e5%8d%8f%e5%95%86%e7%bb%84%e4%bf%a1%e6%81%af%e6%9b%b4%e5%ae%b9%e6%98%93%e6%8e%92%e6%9f%a5" class="header-anchor"&gt;&lt;/a&gt;关键变化二：TLS 协商组信息更容易排查
&lt;/h2&gt;&lt;p&gt;26.5.0 还提到 “report negotiated TLS groups”。这类变化不一定会改变业务逻辑，但对运维和安全排障很有价值。&lt;/p&gt;
&lt;p&gt;在实际生产中，TLS 问题经常表现为“某些客户端能连、某些客户端失败”：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;客户端运行时、OpenSSL、系统证书库版本不同；&lt;/li&gt;
&lt;li&gt;负载均衡、反向代理、服务端 Node.js 的 TLS 配置不一致；&lt;/li&gt;
&lt;li&gt;安全基线升级后，曲线/密钥交换组被禁用或协商失败；&lt;/li&gt;
&lt;li&gt;FIPS、国密或企业代理环境引入额外限制。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;如果运行时能报告协商到的 TLS groups，平台团队就能把“握手失败/降级/兼容性差”的问题从黑盒日志变成可观测事实。建议在升级验证阶段做一次完整 TLS 回归：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;node -p &lt;span class="s2"&gt;&amp;#34;process.versions&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;openssl s_client -connect example.com:443 -tls1_3 &amp;lt;/dev/null
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;同时检查服务端访问日志、网关日志和 APM 标签，确认 TLS 版本、加密套件、协商组等信息是否能被统一记录。对于金融、企业内网、老旧 Android/WebView 客户端，这一步尤其重要。&lt;/p&gt;
&lt;h2 id="关键变化三权限模型与-node_options-的一致性修复"&gt;&lt;a href="#%e5%85%b3%e9%94%ae%e5%8f%98%e5%8c%96%e4%b8%89%e6%9d%83%e9%99%90%e6%a8%a1%e5%9e%8b%e4%b8%8e-node_options-%e7%9a%84%e4%b8%80%e8%87%b4%e6%80%a7%e4%bf%ae%e5%a4%8d" class="header-anchor"&gt;&lt;/a&gt;关键变化三：权限模型与 &lt;code&gt;NODE_OPTIONS&lt;/code&gt; 的一致性修复
&lt;/h2&gt;&lt;p&gt;Node.js 的 Permission Model 仍处于演进阶段，但已经是很多团队评估“最小权限运行 JavaScript 服务”的重要方向。26.5.0 的提交列表包含 “fix permission model propagation via NODE_OPTIONS”。&lt;/p&gt;
&lt;p&gt;这类修复值得平台团队认真看待，因为 &lt;code&gt;NODE_OPTIONS&lt;/code&gt; 在容器镜像、PaaS 平台、CI/CD、serverless 运行时里非常常见。例如：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;export&lt;/span&gt; &lt;span class="nv"&gt;NODE_OPTIONS&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;--experimental-permission --allow-fs-read=/app/config&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;node server.js
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;如果权限相关选项在子进程、worker、工具链包装脚本中传播不一致，可能会出现两种风险：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;开发/测试环境以为权限限制已生效，但生产包装脚本绕过了限制；&lt;/li&gt;
&lt;li&gt;本该允许的读取、网络或子进程行为被误拦截，导致线上难以复现的故障。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;因此，升级到 26.5.0 后建议新增一组“权限模型回归用例”，覆盖：主进程、&lt;code&gt;child_process&lt;/code&gt;、worker、测试框架、构建脚本以及容器入口脚本。不要只验证应用入口文件。&lt;/p&gt;
&lt;h2 id="关键变化四依赖组件更新带来的隐性影响"&gt;&lt;a href="#%e5%85%b3%e9%94%ae%e5%8f%98%e5%8c%96%e5%9b%9b%e4%be%9d%e8%b5%96%e7%bb%84%e4%bb%b6%e6%9b%b4%e6%96%b0%e5%b8%a6%e6%9d%a5%e7%9a%84%e9%9a%90%e6%80%a7%e5%bd%b1%e5%93%8d" class="header-anchor"&gt;&lt;/a&gt;关键变化四：依赖组件更新带来的隐性影响
&lt;/h2&gt;&lt;p&gt;本次版本还包含若干依赖更新，例如 release notes 中列出的 Undici、nghttp3、SQLite 等更新；release index 也显示 OpenSSL、libuv、zlib 等底层组件处在较新的版本组合上。对大多数业务而言，这些更新不会直接要求改代码，但它们可能影响：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;HTTP 客户端行为：连接复用、代理、重定向、超时和 header 处理；&lt;/li&gt;
&lt;li&gt;HTTP/2 / HTTP/3 相关边界行为；&lt;/li&gt;
&lt;li&gt;内置 SQLite 场景的兼容性和性能；&lt;/li&gt;
&lt;li&gt;原生插件编译、ABI 兼容和镜像体积；&lt;/li&gt;
&lt;li&gt;TLS/加密能力与企业安全基线的匹配。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;如果项目依赖 &lt;code&gt;node-gyp&lt;/code&gt;、原生 addon、Electron、Playwright、Puppeteer 或自定义 OpenSSL 行为，建议在升级前后分别输出环境信息：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;node -p &lt;span class="s2"&gt;&amp;#34;process.version&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;node -p &lt;span class="s2"&gt;&amp;#34;process.versions&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;npm ls --depth&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;并在 CI 中保留构建日志，方便定位 ABI 或编译链变化。&lt;/p&gt;
&lt;h2 id="推荐升级流程"&gt;&lt;a href="#%e6%8e%a8%e8%8d%90%e5%8d%87%e7%ba%a7%e6%b5%81%e7%a8%8b" class="header-anchor"&gt;&lt;/a&gt;推荐升级流程
&lt;/h2&gt;&lt;p&gt;对于生产团队，建议把 Node.js 26.5.0 当作 Current 线验证版本，而不是直接替换 LTS：&lt;/p&gt;
&lt;h3 id="1-先确认版本线策略"&gt;&lt;a href="#1-%e5%85%88%e7%a1%ae%e8%ae%a4%e7%89%88%e6%9c%ac%e7%ba%bf%e7%ad%96%e7%95%a5" class="header-anchor"&gt;&lt;/a&gt;1. 先确认版本线策略
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;线上核心服务：优先使用当前 LTS；&lt;/li&gt;
&lt;li&gt;内部平台、SDK、CLI、基础镜像：可以提前验证 Current；&lt;/li&gt;
&lt;li&gt;新特性探索：用隔离环境验证，不直接影响生产流量。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="2-建立最小回归清单"&gt;&lt;a href="#2-%e5%bb%ba%e7%ab%8b%e6%9c%80%e5%b0%8f%e5%9b%9e%e5%bd%92%e6%b8%85%e5%8d%95" class="header-anchor"&gt;&lt;/a&gt;2. 建立最小回归清单
&lt;/h3&gt;&lt;p&gt;至少覆盖以下命令：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;node -v
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;npm -v
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;node -p &lt;span class="s2"&gt;&amp;#34;process.versions&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;npm ci
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;npm &lt;span class="nb"&gt;test&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;npm run build
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Web 服务还应补充接口 smoke test、TLS 连接测试、代理场景测试和大文件上传/下载测试。&lt;/p&gt;
&lt;h3 id="3-对-web-streams-和-blob-场景做专项验证"&gt;&lt;a href="#3-%e5%af%b9-web-streams-%e5%92%8c-blob-%e5%9c%ba%e6%99%af%e5%81%9a%e4%b8%93%e9%a1%b9%e9%aa%8c%e8%af%81" class="header-anchor"&gt;&lt;/a&gt;3. 对 Web Streams 和 Blob 场景做专项验证
&lt;/h3&gt;&lt;p&gt;如果项目处理上传文件、对象存储、日志、CSV/JSONL 或边缘函数请求体，可以新增流式处理测试，避免把大对象一次性读入内存。&lt;/p&gt;
&lt;h3 id="4-对权限模型做入口链路测试"&gt;&lt;a href="#4-%e5%af%b9%e6%9d%83%e9%99%90%e6%a8%a1%e5%9e%8b%e5%81%9a%e5%85%a5%e5%8f%a3%e9%93%be%e8%b7%af%e6%b5%8b%e8%af%95" class="header-anchor"&gt;&lt;/a&gt;4. 对权限模型做“入口链路”测试
&lt;/h3&gt;&lt;p&gt;如果你正在使用或评估 &lt;code&gt;--experimental-permission&lt;/code&gt;，不要只测 &lt;code&gt;node app.js&lt;/code&gt;。要覆盖 npm script、PM2/systemd、Docker ENTRYPOINT、测试框架和子进程。&lt;/p&gt;
&lt;h3 id="5-保留快速回滚方案"&gt;&lt;a href="#5-%e4%bf%9d%e7%95%99%e5%bf%ab%e9%80%9f%e5%9b%9e%e6%bb%9a%e6%96%b9%e6%a1%88" class="header-anchor"&gt;&lt;/a&gt;5. 保留快速回滚方案
&lt;/h3&gt;&lt;p&gt;升级运行时比升级普通依赖更底层。建议镜像 tag 明确区分：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;node:26.4.0-bookworm
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;node:26.5.0-bookworm
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;在灰度阶段保留旧镜像和回滚脚本，避免运行时行为变化影响全量流量。&lt;/p&gt;
&lt;h2 id="注意事项"&gt;&lt;a href="#%e6%b3%a8%e6%84%8f%e4%ba%8b%e9%a1%b9" class="header-anchor"&gt;&lt;/a&gt;注意事项
&lt;/h2&gt;&lt;ol&gt;
&lt;li&gt;26.5.0 是 Current，不等同于 LTS；生产环境是否采用要看团队的运行时策略。&lt;/li&gt;
&lt;li&gt;这不是安全发布，不应把它包装成“紧急安全升级”。&lt;/li&gt;
&lt;li&gt;权限模型仍要关注实验性接口和未来变更，不建议仅凭一次修复就假设所有沙箱场景都已稳定。&lt;/li&gt;
&lt;li&gt;原生 addon 和构建链要在目标架构上验证，尤其是 Alpine、ARM64、CI runner 与生产镜像不一致时。&lt;/li&gt;
&lt;li&gt;如果线上仍在 Node.js 22/24 LTS，优先处理对应 LTS 安全更新，再安排 Node.js 26 的兼容性验证。&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="总结"&gt;&lt;a href="#%e6%80%bb%e7%bb%93" class="header-anchor"&gt;&lt;/a&gt;总结
&lt;/h2&gt;&lt;p&gt;Node.js 26.5.0 的重点不在“惊天动地的新功能”，而在几个对工程实践很实用的方向：更流式的 &lt;code&gt;Blob&lt;/code&gt; 文本读取、更好的 TLS 可观测性、权限模型传播修复，以及底层依赖维护更新。对平台团队来说，最合理的姿势是：把它纳入 CI 和预发环境，围绕 Web Streams、TLS、权限模型、原生 addon 建立回归清单；对业务团队来说，则应继续遵循 LTS 优先策略，等验证充分后再决定是否升级运行时基线。&lt;/p&gt;
&lt;h2 id="参考资料"&gt;&lt;a href="#%e5%8f%82%e8%80%83%e8%b5%84%e6%96%99" class="header-anchor"&gt;&lt;/a&gt;参考资料
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;官方发布说明：&lt;a class="link" href="https://nodejs.org/en/blog/release/v26.5.0" target="_blank" rel="noopener"
 &gt;https://nodejs.org/en/blog/release/v26.5.0&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;官方 release index：&lt;a class="link" href="https://nodejs.org/download/release/index.json" target="_blank" rel="noopener"
 &gt;https://nodejs.org/download/release/index.json&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;GitHub Release：&lt;a class="link" href="https://github.com/nodejs/node/releases/tag/v26.5.0" target="_blank" rel="noopener"
 &gt;https://github.com/nodejs/node/releases/tag/v26.5.0&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Node.js Permission Model 文档：&lt;a class="link" href="https://nodejs.org/api/permissions.html" target="_blank" rel="noopener"
 &gt;https://nodejs.org/api/permissions.html&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Node.js Web Streams 文档：&lt;a class="link" href="https://nodejs.org/api/webstreams.html" target="_blank" rel="noopener"
 &gt;https://nodejs.org/api/webstreams.html&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item></channel></rss>