Stability and SemVer
async-std
跟随https://semver.org/的脚步。
简而言之:我们将软件版本控制为MAJOR.MINOR.PATCH
。我们补充下:
- MAJOR 版本,API 不兼容
- MINOR 版本,向后兼容地给出功能
- PATCH 版本,向后兼容的错误修复时的
而文档方面,我们将提供主要版本之间的迁移文档。
Future expectations
async-std
使用自己的实现,有一下几个概念:
Read
Write
Seek
BufRead
Stream
为了与生态系统集成,实现这些 trait 的所有类型,对应的,也在futures-rs
箱子有实现。请注意,我们的 SemVer 守则,不会扩展到这些接口的使用。我们希望这些内容是保守更新,并同步进行。
Minimum version policy
当前的暂行策略是,可以在 minor 版本更新中,要增加使用此箱子所需的最低 Rust 版本。例如,如果async-std
1.0 需要 Rust 1.37.0,然后对async-std
1.0.z 来说(其中 z 是数字),就会需要 Rust 1.37.0 或更高版本。然而,对async-std
1.y 来说(表示 y> 0),那么你可能需要更新的 Rust 版本。
通常,此箱子比较保守,会遵循最低支持版本的 Rust。不过,async/await
毕竟是作为一项新功能,我们会权衡保守与勇进的。
Security fixes
安全修复程序会给所有的 minor 分支上应用,终落在该库的所有支持的 major 版本上。此策略将来可能会更改,在这种情况下,我们至少会发出通知3 个月先。
Credits
此策略基于BurntSushi’s regex crate。