首页
/ Node.js v23.8.0 版本发布:系统CA证书支持与Zstd压缩算法引入

Node.js v23.8.0 版本发布:系统CA证书支持与Zstd压缩算法引入

2025-05-31 05:24:16作者:冯爽妲Honey

Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行时环境,它让开发者能够在服务器端运行 JavaScript 代码。作为当前版本(Current)的 v23.8.0 带来了多项重要更新,特别是在安全性和性能优化方面有显著改进。

系统CA证书支持增强

新版本在 macOS 和 Windows 平台上新增了 --use-system-ca 命令行标志,允许 Node.js 使用系统存储中的受信任 CA 证书。这一改进使得 Node.js 能够更好地与操作系统集成,特别是在企业环境中,系统管理员通常会集中管理证书颁发机构(CA)的信任列表。

开发者现在可以选择三种不同的 CA 证书来源:

  • --use-system-ca:使用系统存储的 CA 证书
  • --use-bundled-ca:使用 Node.js 内置的 CA 证书
  • --use-openssl-ca:使用 OpenSSL 的 CA 证书

这一功能对于需要与各种 HTTPS 服务交互的应用程序尤为重要,特别是在需要验证服务器证书的场景下。

URL Pattern API 实现

v23.8.0 引入了 URL Pattern API 的实现,这是一个用于解析和匹配 URL 的强大工具。URLPattern 构造函数现在可以从 node:url 模块导出,并将在 Node.js 24 中作为全局对象提供。

URL Pattern API 提供了一种声明式的方式来定义 URL 模式,并检查给定的 URL 是否匹配该模式。这对于路由系统、API 网关和其他需要 URL 处理的场景特别有用。开发者可以定义包含通配符、命名组和正则表达式的复杂 URL 模式,然后轻松地匹配和提取 URL 中的各个部分。

Zstandard (zstd) 压缩算法支持

Node.js 现在原生支持 Zstandard 压缩算法,这是一种现代的、高性能的压缩算法,由 Facebook 开发。zstd 提供了出色的压缩比和速度,特别适合需要高效数据压缩的场景。

node:zlib 模块中新增了多个 API,用于压缩和解压缩 zstd 流。这使得开发者可以在 Node.js 应用中轻松利用 zstd 的优势,特别是在处理大量数据或需要网络传输优化的场景中。

线程命名改进

为了提高调试体验,Node.js 现在会为进程创建的线程命名。对于工作线程(Worker Threads),可以使用传递给 Worker 构造函数的 name 选项来指定线程名称。

这一改进使得在调试多线程应用时,开发者能够更容易地识别和跟踪各个线程的活动,特别是在使用调试工具或分析线程转储时。

时区数据更新

Node.js 的时区数据已更新至 2025a 版本,主要变化包括:

  • 南美某国从 2024 年春季开始永久采用 -03 时区
  • 改进了菲律宾 1991 年前的数据准确性

这些更新确保了 Node.js 在处理日期和时间时能够提供最准确的结果,特别是对于历史日期和特定地区的时区规则。

SQLite 模块增强

SQLite 模块现在允许从用户定义函数返回 ArrayBufferView 类型的数据,这为处理二进制数据提供了更大的灵活性。此外,还修复了多个与内存管理和错误处理相关的问题,提高了模块的稳定性和可靠性。

其他改进

  • 加密模块新增 API 用于获取 OpenSSL 安全级别
  • 改进了错误处理和内存管理
  • 更新了多个依赖项的版本
  • 修复了多个 bug 和性能问题

Node.js v23.8.0 的这些改进进一步增强了其作为现代服务器端 JavaScript 运行时的能力,特别是在安全性、性能和开发者体验方面。开发者可以根据自己的需求选择性地采用这些新特性,以构建更强大、更可靠的应用程序。

登录后查看全文
热门项目推荐
相关项目推荐

项目优选

收起
docsdocs
OpenHarmony documentation | OpenHarmony开发者文档
Dockerfile
139
1.91 K
kernelkernel
deepin linux kernel
C
22
6
nop-entropynop-entropy
Nop Platform 2.0是基于可逆计算理论实现的采用面向语言编程范式的新一代低代码开发平台,包含基于全新原理从零开始研发的GraphQL引擎、ORM引擎、工作流引擎、报表引擎、规则引擎、批处理引引擎等完整设计。nop-entropy是它的后端部分,采用java语言实现,可选择集成Spring框架或者Quarkus框架。中小企业可以免费商用
Java
8
0
ohos_react_nativeohos_react_native
React Native鸿蒙化仓库
C++
192
273
RuoYi-Vue3RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
923
551
openHiTLSopenHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
C
421
392
openGauss-serveropenGauss-server
openGauss kernel ~ openGauss is an open source relational database management system
C++
145
189
金融AI编程实战金融AI编程实战
为非计算机科班出身 (例如财经类高校金融学院) 同学量身定制,新手友好,让学生以亲身实践开源开发的方式,学会使用计算机自动化自己的科研/创新工作。案例以量化投资为主线,涉及 Bash、Python、SQL、BI、AI 等全技术栈,培养面向未来的数智化人才 (如数据工程师、数据分析师、数据科学家、数据决策者、量化投资人)。
Jupyter Notebook
74
64
Cangjie-ExamplesCangjie-Examples
本仓将收集和展示高质量的仓颉示例代码,欢迎大家投稿,让全世界看到您的妙趣设计,也让更多人通过您的编码理解和喜爱仓颉语言。
Cangjie
344
1.3 K
easy-eseasy-es
Elasticsearch 国内Top1 elasticsearch搜索引擎框架es ORM框架,索引全自动智能托管,如丝般顺滑,与Mybatis-plus一致的API,屏蔽语言差异,开发者只需要会MySQL语法即可完成对Es的相关操作,零额外学习成本.底层采用RestHighLevelClient,兼具低码,易用,易拓展等特性,支持es独有的高亮,权重,分词,Geo,嵌套,父子类型等功能...
Java
36
8