mirai/docs/Evolution.md

52 lines
2.3 KiB
Markdown
Raw Normal View History

2020-12-19 11:15:57 +08:00
# Mirai - Evolution
### Mirai 演进
2021-01-11 21:11:33 +08:00
Mirai 是不断前进的库,目标是提供稳定且高效的 API。
2020-12-19 11:15:57 +08:00
维护者会严谨地推进每一项修改,并提供迁移周期(至少 2 个次版本)。
### 版本规范
Mirai 的版本号遵循 [语义化版本 2.0.0](https://semver.org/lang/zh-CN/#spec-item-9) 规范。
在日常开发中, Mirai 会以 `-dev-1``-dev-2` 等版本后缀发布开发预览版本。这些版本仅用于兼容性测试等目的,无稳定性保证。
在大版本开发过程中Mirai 会以 `-M1`, `-M2` 等版本后缀发布里程碑预览版本。代表一系列功能的完成,但还不稳定。
这些版本里新增的 API 仍可能还会在下一个 Milestone 版本变化,因此请按需使用。
在大版本即将发布前Mirai 会以 `-RC` 版本后缀发布最终的预览版本。
`RC` 表示新版本 API 已经确定,离稳定版发布只差最后的一些内部优化或 bug 修复。
### 版本选择
**稳定性**:稳定 (`x.y.z`) > 发布预览 (`-RC`) > 里程碑预览 (`-M`) > 开发 (`-dev`)。
| 目的 | 推荐至少更新到版本 |
|:------------------:|:--------------:|
| 生产环境 | `x.y.z` |
| 希望尽早体验稳定新特性 | `-RC` |
| 无论如何都想体验新特性 | `-M` |
| 为 Mirai 提交 PR | `-dev` |
## 更新兼容性
对于 `x.y.z` 版本号:
-`z` 增加时,只会有 bug 修复,和必要的新函数添加(为了解决某一个问题),不会有破坏性变化。
-`y` 增加时,可能有新 API 的引入,和旧 API 的弃用。但这些弃用会经过一个弃用周期后才被删除(隐藏)。向下兼容得到保证。
-`x` 增加时,任何 API 都可能会有变化。无兼容性保证。
## 弃用周期
一个计划被删除的 API将会在下一个次版本开始经历弃用周期。
如一个 API 在 `1.1.0` 起被弃用,它首先会是 `WARNING` (使用时会得到一个编译警告)弃用级别。
`1.2.0` 上升为 `ERROR`(使用时会得到一个编译错误);
`1.3.0` 上升为 `HIDDEN`(使用者无法看到这些 API)。
`HIDDEN` 的 API 仍然会保留在代码中并正常编译,以提供二进制兼容性,直到下一个主版本更新。
2021-01-13 16:07:02 +08:00
----
> [回到 Mirai 文档索引](README.md#jvm-平台-mirai-开发)