标准库的稳定化过程已经开始
我们很高兴地宣布 Deno 标准库 的一个重大里程碑:Deno 标准库的包将很快稳定到 1.0 版。这意味着任何使用稳定版 v1 的代码都将继续工作,遵循语义版本控制。用户可以使用 @1
版本选择器(例如:jsr:@std/bytes@1
)导入这些包,以在发布时自动接收错误修复。该过程预计将在 7 月完成。
稳定化过程
正如我们在 上一篇文章 中所述,Deno 标准库现在是一个包含 38 个包的集合。
我们将以逐包的方式进行稳定化,而不是一次性稳定整个标准库。我们选择这种策略是为了最大程度地降低错误和疏漏的风险,并最大程度地为社区提供在最后一刻再次审视每个包的设计的机会。
更具体地说,每个包都会经过以下流程
- 该包的文档覆盖率达到 100%
- 该包的测试覆盖率达到一个相当高的数字(通常是 100%,但有一些例外)
- 当主要维护者在设计方面达成一致时,发布
1.0.0-rc.1
(候选发布版)。 - 等待一个月,接收社区的反馈。
- 维护者处理并解决社区的反馈。
- 如果等待期后没有剩余问题,则发布
1.0.0
。- 如果有未解决的问题,则等待期延长,并重复此过程。
稳定化时间表
现在已经稳定了一个包,并且有九个包处于 RC(候选发布版)版本。下表描述了每个包的当前状态和未来计划。
包 | 已稳定 | 稳定化日期 | 计划 RC 日期 | 计划稳定化日期 |
---|---|---|---|---|
bytes | ✅ | 2024-06-06 | ||
collections | 2024-06-20 | |||
media-types | 2024-06-21 | |||
crypto | 2024-06-30 | |||
encoding | 2024-06-30 | |||
uuid | 2024-06-30 | |||
assert | 2024-07-03 | |||
path | 2024-07-04 | |||
html | 2024-07-05 | |||
toml | 2024-07-06 | |||
url | 2024-07-07 | |||
data-structures | 2024-06-10 | 2024-07-10 | ||
ulid | 2024-06-11 | 2024-07-11 | ||
regexp | 2024-06-12 | 2024-07-12 | ||
text | 2024-06-13 | 2024-07-13 | ||
msgpack | 2024-06-14 | 2024-07-14 | ||
async | 2024-06-17 | 2024-07-17 | ||
cli | 2024-06-18 | 2024-07-18 | ||
io | 2024-06-19 | 2024-07-19 | ||
streams | 2024-06-20 | 2024-07-20 | ||
fmt | 2024-06-21 | 2024-07-21 | ||
net | 2024-06-24 | 2024-07-24 | ||
http | 2024-06-25 | 2024-07-25 | ||
fs | 2024-06-26 | 2024-07-26 | ||
json | 2024-06-27 | 2024-07-27 | ||
testing | 2024-06-28 | 2024-07-28 | ||
jsonc | 2024-07-01 | 2024-07-22 | ||
csv | 2024-07-02 | 2024-07-23 | ||
semver | 2024-07-03 | 2024-07-24 | ||
expect | 2024-07-04 | 2024-07-25 | ||
yaml | 2024-07-05 | 2024-07-26 | ||
front-matter | 2024-07-08 | 2024-07-29 | ||
ini | 2024-07-09 | 2024-07-30 | ||
dotenv | 2024-07-10 | 2024-07-31 |
(注意:7 月之后,等待期将变为三周,以缩短时间表。)
排除的包
我们决定将以下四个包从这次稳定化迭代中排除
包 | 注意 |
---|---|
datetime | Temporal 发布后,将重新设计该包。 |
webgpu | 该包被排除,因为 WebGPU 尚未稳定。 |
archive | 该包被排除,因为它正在进行重新设计。 |
log | 该包的设计尚未准备好。 |
给我们反馈
我们期待您对这些包的 RC 版本的反馈。如果您目前使用标准库,请尝试 RC 版本并 告诉我们您的想法!