Node.js 16.0.0 发布

西域战神 2021-04-21 11:25:18 ⋅ 980 阅读

Node.js 是能够在服务器端运行 JavaScript 的开放源代码、跨平台 JavaScript 运行环境。Node.js 由Node.js Foundation(已与JS Foundation合并为OpenJS Foundation)持有和维护,亦为 Linux 基金会的项目。Node.js采用Google开发的V8运行代码,使用事件驱动非阻塞异步输入输出模型等技术来提高性能,可优化应用程序的传输量和规模。这些技术通常用于资料密集的即时应用程序。

Node.js 16.0.0 正式发布,本次更新内容如下:

稳定 Timers Promises API:

Timers Promises API 提供了一组替代的定时器函数,这些函数返回 Promise 对象。在Node.js v15.0.0 中添加,在此版本中,它们从实验状态升级为稳定状态。

Toolchain 和编译器升级:

Node.js v16.0.0 将是发布用于 Apple Silicon 的预构建二进制文件的第一个版本。虽然我们将为 Intel(darwin-x64)和 ARM(darwin-arm64)架构提供单独的压缩文件,但 macOS 安装程序(.pkg)将作为多架构二进制文件提供。

  • (SEMVER-MAJOR) build:移除对 Python 2 的支持 #36691
  • (SEMVER-MAJOR) build:将 Makefile 中的 Python 默认为 Python3 #37764
  • build:更新 Makefile 以支持 fat 二进制 #37861
  • (SEMVER-MAJOR) build:在 macOS 上启用 ASLR (PIE)  #35704
  • build:对早于 8.3.0 的 gcc 版本发出警告 #37935
  • (SEMVER-MAJOR) doc:将最低支持的 Xcode 更新到 11 #37872
  • (SEMVER-MAJOR) doc:将最低支持的 GCC 更新到 8.3 #37871
  • (SEMVER-MAJOR) doc:将 AIX 的 16.x 版本更新为 GCC 8 #37677
  • 工具:在 Distribution.xml 中设置 arch #38261

V8 9.0:

V8 JavaScript 引擎已更新至 9.0,其中包括性能调整和改进。

这次更新还带来了 ECMAScript RegExp Match Indices,它提供了捕获字符串的开始和结束索引。当正则表达式有 /d 标志时,索引数组可以通过匹配对象上的 .indices 属性获得。

弃用和移除:

  • (SEMVER-MAJOR) fs:删除允许的 rmdir 递归 #37216
  • (SEMVER-MAJOR) fs:运行时弃用rmdir递归选项 #37302
  • (SEMVER-MAJOR) lib:运行时弃用访问 process.binding('http_parser') #37813
  • (SEMVER-MAJOR) lib:运行时弃用访问 process.binding('url')#37799
  • (SEMVER-MAJOR) lib:使 process.binding('util')仅返回类型检查器 #37819
  • (SEMVER-MAJOR) lib:运行时弃用访问 process.binding('crypto') #37790
  • (SEMVER-MAJOR) 模块:删除 module.createRequireFromPath #37201
  • (SEMVER-MAJOR) 模块:运行时弃用子路径文件夹映射 #37215
  • (SEMVER-MAJOR) 模块:运行时弃用“主”索引和扩展查找 #37206
  • (SEMVER-MAJOR) 模块:运行时弃用无效的 package.json 主要条目 #37204
  • (SEMVER-MAJOR) 进程:运行时弃用更改 process.config #36902

其他值得注意的变化

  • (SEMVER-MAJOR) 缓冲区:将 btoa 和 atob 暴露为全局变量 #37786
  • (SEMVER-MAJOR) deps: 将最低 ICU 版本提升到 68 #37330
  • deps: 更新 ICU 至 69.1 #38178
  • deps: 将 llhttp 升级到 6.0.0 #38277
  • deps: 将 npm 升级到 7.10.0 #38254
  • (SEMVER-MINOR) http: 添加 http.ClientRequest.getRawHeaderNames()  #37660
  • (SEMVER-MAJOR) lib,src: 更新群集以使用 Parent #36478
  • (SEMVER-MINOR) 模块:添加对有 require(…) 前缀的 node: 调用的支持 #37246
  • (SEMVER-MINOR) perf_hooks: 添加直方图选项以定时 #37475
  • (SEMVER-MINOR) 为有 require(…) 前缀的 node: 调用添加自动完成功能 #37246
  • (SEMVER-MINOR) util: 添加 getSystemErrorMap() impl #38101

更多详情可查看:https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#16.0.0


全部评论: 0

    我有话说:

    Node.js v15.13.0 发布

    Node.js 15.13.0 正式发布Node.js 是能够在服务器端运行 JavaScript 的开放源代码、跨平台 JavaScript 

    Node.js 15.6.0 发布

    Node.js 15.6.0 发布Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行时。 此版本主要更新内容包括: child_process: 添加

    NodeJS 10.5.0 中的线程:实用介绍

    几天前,Node.js版本10.5.0发布,其中包含的主要功能之一是添加了线程支持。

    为什么要使用 Node.js?这几点你必须知道!

    经过这几年的发展,前端普遍进入了技术深水区,只会Web页面开发已经难以满足企业的需求,Node逐渐成为了刚性技能。 但Node在业务上的使用还没有那么普及,有的时候想用老板还不同意,本文将从4个角度

    「尝鲜」SpringBoot 快速整合Swagger 3.0

    第一步:Maven引入Swagger3.0 starter依赖 Maven项目中引入springfox-boot-starter依赖: <dependency> <

    2018年8个技巧来构建更好的Node.js应用程序

    2018年8个技巧来构建更好的Node.js应用程序

    Scala.js 1.4.0 发布,将 Scala 编译成 JavaScript

    Scala.js 1.4.0发布。Scala.js 是一个将 Scala 语言编译成 JavaScript 的工具,以便可以直接在浏览器上使用 Scala 编写程序。 Scala.js

    前端框架 Angular 11.0.0 正式发布,不再支持 IE 9 、10

    前端框架 Angular 11.0.0 正式发布。 Angular 11.0.0 将 TypeScript 升级到 4.0, 对 TypeScript 3.9 不再支持。 放弃了对 IE 9 、10

    phpPgAdmin 7.13.0 发布

    phpPgAdmin 7.13.0版本于今天发布。该版本涉及以下更新: 增加对Postgres 13的支持; 增加对Postgres 14的暂时适配; 升级Jquery库为jquery 3.4.1

    Node模块之fs模块(六)

    屏幕快照 2017-08-08 上午10.53.21.png 第一部分 概述 Node.js 提供一组类似UNIX(POSIX)标准的文件操作API,Node.js中操作文件的模块是fs(File

    CherryTree 0.99.17 发布

    CherryTree 0.99.17 现已发布。CherryTree 是一个支持无限层级分类的笔记软件,Python 编写,支持富文本编辑和代码高亮,支持 Linux 和

    Eclipse Jetty 9.4.38、10.0.1 和 11.0.1 发布

    Eclipse Jetty 9.4.38、10.0.1 和 11.0.1 已经发布。这三个版本都包含了大量的 bug 修复和改进,建议所有用户尽快升级。重要的是,这些版本涉及 CVE-2020

    Angular 11.0.0-rc.2 发布,Web 前端框架

    Angular 11.0.0-rc.2 现已发布,具体更新内容如下: Bug 修复 common:从r-> Y更改 week-numbering year 格式 compiler

    Apache Tomcat 8.5.59、9.0.39和10.0.0-M9发布

    Apache Tomcat 8.5.59, 9.0.39 和 10.0.0-M9 已发布。 8.5.x 已取代 8.0.x,并增加了从 Tomcat 9.0.x 中吸收的新功能。与 8.5.58

    Redis 6.0.10 发布维护版本

    Redis 6.0.10 现已发布,这是一个维护版本,升级迫切性等级为中等:修复了一些具有中等影响的错误。具体更新内容如下: Command behavior changes

    Apache Tomcat 10.0.4、9.0.44 和 8.5.64 发布

    Apache Tomcat 三个分支发布了更新,分别是 10.0.4、9.0.44 和 8.5.64。 Tomcat 10.0.x 系列的目标平台是 Jakarta EE 9。官方表示,Tomcat

    Vue CLI 3.0 正式发布,Vue.js 开发标准化工具

    Vue CLI 3.0发布,该版本经历了重构了很多有用的内容

    LXQt 0.17 发布,轻量级 Qt 桌面环境

    LXQt 0.17发布,LXQt 是资源开支相对较低的开源桌面环境,由 LXDE 和 Razor-qt 项目合并而成。 ▲使用 LXQt 作为桌面环境的 LUbuntu

    Redis 5.0.11、6.0.11、6.2 发布,修复 32 位系统上的整数溢出

    Redis 同时发布了 5.0.11、6.0.11 和 6.2 版本。对于使用 32 位 Redis 的用户来说,此次更新解决了一个重要的安全问题,即 32 位系统上的整数溢出((CVE-2021