Deno 1.14 已发布,包括以下新特性和变更:
此版本引入了许多新的 Web Crypto API:
crypto.subtle.exportKey():
- HMAC 密钥现在支持以 JWK 和"raw"格式导出
- RSA 密钥现在支持以 pkcs#8 格式导出
crypto.subtle.importKey():
- HMAC 密钥现在可以以 JWK 和"raw"格式导入
- 现在支持以 pkcs#8 格式导入 RSA 密钥
- PBKDF2 密钥现在支持以"raw"格式导入
crypto.subtle.generateKey():
- 现在支持生成 RSA-OAEP 密钥
- 现在支持生成 ECDH 密钥
- 现在支持生成 AES 密钥
crypto.subtle.deriveBits():
- 现在支持 PBKDF2 派生
- 现在支持 HKDF 派生
crypto.subtle.verify():
crypto.subtle.encrypt():
crypto.subtle.decrypt():
此版本引入了一个新的不稳定的 Web 平台 API,用于根据模式匹配 URL。URLPattern是流行path-to-regexp库的内置替代品 。
const pattern = new URLPattern({ pathname: "/books/:id" });
console.log(pattern.test("https://example.com/books/123")); // true
console.log(pattern.test("https://example.com/books/123/456")); // false
console.log(pattern.test("https://example.com/books")); // false
console.log(pattern.exec("https://example.com/books/123").pathname); // { input: "/books/123", groups: { id: "123" } }
此版本引入了四个新的可用于文件锁定的不稳定 API:
Deno.flock
Deno.flockSync
Deno.funlock
Deno.funlockSync
这些 API 对于像sqlite提供适当的数据库同步这种项目来说是必不可少的 。
Deno 标准库 0.107.0 版本对http模块进行了重大改进 。
在 v1.13 中原生 HTTP server API 到达稳定状态后,团队重写了http/server.ts模块,并使用了新的稳定 API。最终实现了显著的性能提升,以及创建了对用户更友好的 API——主要用于处理 HTTP 服务器的问题,例如错误处理和连接的多路复用。
更多内容查看发布公告。