1.0-RC released

This commit is contained in:
Him188 2020-05-06 13:02:12 +08:00
parent 6e75f8dd34
commit d80ab1608a
2 changed files with 68 additions and 2 deletions

View File

@ -1,4 +1,70 @@
# Major version 0
# Version 1.x
## `1.0-RC` 2020/5/6
### 事件优先级与拦截
> 特别感谢 @Karlatemp (#279)
- 支持事件拦截: `Event.intercept()`, `Event.isIntercepted`
- 支持事件优先级: `HIGHEST, HIGH, NORMAL, LOW, LOWEST``MONITOR`
事件广播时按监听器的优先级从高到低依次调用, 在任意一个监听器 拦截事件(`Event.intercept()`) 后停止广播, 不调用后续监听器.
最后调用 `MONITOR` 级别的监听器.
- 在 `subscribe`, `subscribeAlways`, `nextMessage`, `syncFromEvent`, `subscribeMessages` 等所有事件监听函数中添加 `priority` 参数, 默认使用 `NORMAL` 优先级.
兼容 `1.0` 以前的 API 到 `1.2.0`, 旧版本 API 使用 `MONITOR` 级别.
### 图片缓存策略 `FileCacheStrategy`
- 新增 `FileCacheStrategy`, 可管理上传图片等操作时的缓存行为.
- 内置内存缓存 (`FileCacheStrategy.MemoryCache`) 与默认使用的临时文件 (`FileCacheStrategy.TempCache`) 缓存, 可选临时文件存放目录
- 新增 `BotConfiguration.fileCacheStrategy`, 为单个 `Bot` 指定缓存策略
- 在图片上传 (无论是否成功) 删除临时文件
- 图片上传失败时支持自动重试
- 修复部分情况下文件没有关闭的问题 (#302)
- 因新架构为懒惰处理, 弃用所有 `*.suspendToExternalImage`
### 修正 `ContactMessage` 命名歧义
(#299)
- 原有 `ContactMessage` 实际上是一个事件, 而其命名与消息 `Message` 易产生迷惑.
弃用 (兼容到 `1.2.0`):
- `MessagePacket`
- `MessagePacketBase`
进行如下更名:
- `ContactMessage` -> `MessageEvent`
- `FriendMessage` -> `FriendMessageEvent`
- `GroupMessage` -> `GroupMessageEvent`
- `TempMessage` -> `TempMessageEvent`
暂未决定是否提供 `UserMessageEvent` 作为 `TempMessageEvent``FriendMessageEvent` 的公共父类.
- 优化扩展函数结构, 统一放置在 `MessageEventExtensions`, 以使 `MessageEvent` 结构清晰.
### 支持平板登录方式
- 可选, 且默认作为平板身份登录, 与手机电脑不冲突.
- 可通过 `BotConfiguration.protocol` 切换协议.
### 其他
- **`MessageChain.get` 现在返回可空的 `Message`**. 可迁移到 `MessageChain.getOrFail`.
- 添加 `nextEvent`: 挂起当前协程, 直到监听到事件 `[E]` 的广播, 返回这个事件实例.
- 删除部分冗长的如 `nextMessageContainingOrNullAsync` 等函数.
- 添加 `Message.content` 扩展属性作为 `Message.contentToString()` 的捷径
- 简化图片结构, 弃用 `OnlineFriendImage`, `OnlineGroupImage`, `OfflineGroupImage`, `OfflineFriendImage` 这四个类.
- 修复关闭验证码窗口后阻塞协程的问题 (#296)
- 删除全部 `0.x.x` 版本更新时做的兼容
- 删除全部 `@SinceMirai("0.x.0")`
- 支持接收群语音消息
- 优化图片 ID 正则表达式
- 优化大量 KDoc
- 优化上传图片和长消息时的日志内容
- 允许引用回复离线的消息源 (在 `MessageChain.quote` 时消息链中的 `MessageSource` 可以为 `OfflineMessageSource`)
- 拆分 JCE 序列化到独立的库 (#300)
- 在重连时增加计时
- 简化 `MemberPermission` 比较
- 在消息事件中使用强引用 (#303)
- 修复邀请机器人进群事件无法解析的问题 (#301)
# Version 0.x
开发版本. 频繁更新, 不保证高稳定性

View File

@ -9,7 +9,7 @@
object Versions {
object Mirai {
const val version = "0.40.0"
const val version = "1.0-RC"
}
object Kotlin {