Node.js v17.0.0 正式发布
Node.js 是能够在服务器端运行 JavaScript 的开放源代码、跨平台 JavaScript 运行环境。Node.js 由Node.js Foundation(已与 JS Foundation 合并为 OpenJS Foundation)持有和维护,亦为 Linux 基金会的项目。Node.js 采用 Google 开发的 V8 运行代码,使用事件驱动、非阻塞和异步输入输出模型等技术来提高性能,可优化应用程序的传输量和规模。这些技术通常用于资料密集的即时应用程序。
Node.js 17.0.0 正式发布,本次更新值得注意的变化包括:
弃用与移除
- [
4b030d0573
] - doc: 在http
中弃用.aborted
属性和abort
、aborted
事件 (doc-only) #36670 - [
36e2ffe6dc
] - (SEMVER-MAJOR) module: 移除子路径文件夹映射 #40121 - [
64287e4d45
] - (SEMVER-MAJOR) module: 运行时弃用斜杠结尾(trailing slash)模式 #40117
OpenSSL 3.0
Node.js 现在包含 OpenSSL 3.0,特别是提供 QUIC 支持的 quictls/openssl。在 OpenSSL 3.0 中,使用新的 FIPS 模块再次提供 FIPS 支持。
虽然 OpenSSL 3.0 API 与 OpenSSL 1.1.1 提供的 API 基本兼容,但由于对允许的算法和密钥大小的严格限制,预计会对 Node.js 的生态产生一些影响。
如果你在使用 Node.js 17 的应用程序中遇到ERR_OSSL_EVP_UNSUPPORTED
错误,很可能是你的应用程序或正在使用的模块尝试使用 OpenSSL 3.0 默认不再允许的算法或密钥大小。开发者可以添加--openssl-legacy-provider
命令行选项 ,作为这些收紧限制的临时解决方法以恢复应用程序。
有关 OpenSSL 3.0 中所有功能的详细信息,请参阅该链接。
V8 9.5
V8 JavaScript 引擎已经更新到 V8 9.5。该版本为 Intl.DisplayNames
API 提供了额外的支持类型,并在 Intl.DateTimeFormat
API 中扩展了 timeZoneName
选项。
Readline Promise API
readline
模块提供了一个接口,用于从 Readable 流(如 process.stdin
)中一次一行地读取数据。
下面的简单例子说明了 readline
模块的基本用途。
import * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'process'; const rl = readline.createInterface({ input, output }); const answer = await rl.question('What do you think of Node.js? '); console.log(`Thank you for your valuable feedback: ${answer}`); rl.close();
其他值得注意的变化
- [
1b2749ecbe
] - (SEMVER-MAJOR) dns: 在dns.lookup()
中默认设置verbatim=true
#39987 - [
59d3d542d6
] - (SEMVER-MAJOR) errors: 在导致退出的关键异常上打印 Node.js 版本 #38332 - [
a35b7e0427
] - deps: 将 npm 升级到 8.1.0 #40463 - [
6cd12be347
] - (SEMVER-MINOR) fs: 添加FileHandle.prototype.readableWebStream()
#39331 - [
d0a898681f
] - (SEMVER-MAJOR) lib: 添加structuredClone()
全局方法 #39759 - [
e4b1fb5e64
] - (SEMVER-MAJOR) lib: 公开DOMException
为全局 #39176 - [
0738a2b7bd
] - (SEMVER-MAJOR) stream: 在错误的流上完成也应该以错误的行为结束 #39235
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Chrome 95 发布,完全移除 FTP 支持、限制 cookie 大小
上个月 Google 推出了 Chrome 94,在 Chrome 94 中加入了具有争议的空闲检测 API。如今时隔四周时间,Chrome 95 也如期到来,随着 Chrome 95 的推出,之前已被弃用的 FTP 支持在该版本中被完全移除,除此以外 Chrome 95 中值得关注的更新内容还包括: Chrome 将强制限制 cookie 的名称+值的大小,最大为 4096 字节,每个属性的长度最多设置为 1024 字节。超过这些长度的 cookies 将被直接拒绝。此前,Chrome 浏览器曾对整个 Set-Cookie 行设置了 4096 字节的限制。该变化将使其与 Mozilla Firefox 保持一致,并提高互操作性。 减少用户代理字符串在 HTTP 请求中暴露的信息量,以减少网站可能出现的浏览器指纹识别。 为 WebAssembly 添加异常处理支持,异常处理允许代码在抛出异常时中断控制流。 在 WebAuthn 的帮助下,安全支付确认(Secure payment confirmation)增强了网络上的支付认证体验。该功能为 WebAuthn 增加了一个新的 "支付"...
- 下一篇
FileZilla Server 1.1.0-beta1 发布,开源 FTP 服务器
FileZilla Server 是一个免费开源的 FTP 和 FTPS 服务器,能够提供与服务器的安全加密连接。Filezilla Server 没有实现对 SFTP(SSH 文件传输协议)的支持。 FileZilla Server 1.1.0-beta1现已发布,更新内容如下: New features: 用户模拟,FileZilla Server 现在可以选择让用户使用系统帐户的凭据登录并使用他们的文件系统权限 向用户和组添加了描述字段 为用户添加了启用复选框 管理 UI 中的状态栏现在显示连接状态 错误修正和小改动: Logging fixes 修复自动禁止逻辑 如果在正在进行的目录列表期间更改用户,则修复了崩溃 详情可查看:https://filezilla-project.org/
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- Mario游戏-低调大师作品
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Red5直播服务器,属于Java语言的直播服务器
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS8编译安装MySQL8.0.19
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS6,CentOS7官方镜像安装Oracle11G
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装