mirai/UpdateLog.md

116 lines
4.4 KiB
Markdown
Raw Normal View History

2019-12-28 16:54:57 +08:00
# Major version 0
2019-11-29 02:00:32 +08:00
2019-12-03 12:41:32 +08:00
开发版本. 频繁更新, 不保证高稳定性
2019-12-07 13:21:11 +08:00
2019-12-28 16:54:57 +08:00
## `0.10.1` 还未发布
**Bot 构造**
`Bot` 构造时修改 `BotConfiguration` 而不是登录时.
移除 `CoroutineScope.Bot`
移除 `suspend Bot(...)`
添加 `Bot(..., BotConfiguration.() -> Unit)`
**其他**
移动部分文件, 模块化
## `0.10.0` *2019/12/23*
2019-12-23 23:15:50 +08:00
**事件优化**
更快的监听过程
现在监听不再是 `suspend`, 而必须显式指定 `CoroutineScope`. 详见 [`Subscribers.kt`](mirai-core/src/commonMain/kotlin/net.mamoe.mirai/event/Subscribers.kt#L69)
删除原本的 bot.subscribe 等监听模式.
**其他**
`Contact` 现在实现接口 `CoroutineScope`
2019-12-28 16:54:57 +08:00
## `0.9.0` *2019/12/20*
2019-12-20 10:19:53 +08:00
**协议模块独立**
现在 `mirai-core` 只提供基础的抽象类. 具体的各协议实现为 `mirai-core-PROTOCOL`.
这些模块都继承自 `mirai-core`.
现在, 要使用 mirai, 必须依赖于特定的协议模块, 如 `mirai-core-timpc`.
查阅 API 时请查看 `mirai-core`.
每个模块只提供少量的额外方法. 我们会给出详细列表.
2019-12-23 23:15:50 +08:00
在目前的开发中您无需考虑多协议兼容.
2019-12-20 10:19:53 +08:00
2019-12-23 23:15:50 +08:00
**Bot 构造**
2019-12-20 10:19:53 +08:00
协议抽象后构造 Bot 需指定协议的 `BotFactory`.
在 JVM 平台, Mirai 通过 classname 自动加载协议模块的 `BotFactory`, 因此若您只使用一套协议, 则无需修改现行源码
2019-12-23 23:15:50 +08:00
**事件**
2019-12-20 10:19:53 +08:00
大部分事件包名修改.
2019-12-23 23:15:50 +08:00
**UInt -> Long**
2019-12-20 10:19:53 +08:00
修改全部 QQ ID, Group ID 的类型由 UInt 为 Long.
**此为 API 不兼容更新**, 请将所有无符号标志 `u` 删除即可. 如 `123456u` 改为 `123456`
2019-12-20 10:27:54 +08:00
另还有其他 API 的包名或签名修改. 请使用 IDE 自动修补 import 即可.
2019-12-28 16:54:57 +08:00
## `0.8.2` *2019/12/15*
2019-12-15 17:00:16 +08:00
- 修复 GroupId.toGroupInternalId 错误
- 修复解析群消息时小概率出现的一个错误
2019-12-28 16:54:57 +08:00
## `0.8.1` *2019/12/15*
2019-12-15 15:24:40 +08:00
- 修复有时群资料无法获取的情况
- 现在 `At.qq`, `Long.qq` 等函数不再是 `suspend`
2019-12-28 16:54:57 +08:00
## `0.8.0` *2019/12/14*
协议
- 现在查询群资料时可处理群号无效的情况
- 现在能正常分辨禁言事件包
功能
- 增加无锁链表: LockFreeLinkedList, 并将 ContactList 的实现改为该无锁链表
- **ContactSystem.getQQ 不再是 `suspend`**
- ContactSystem.getGroup 仍是 `suspend`, 原因为需要查询群资料. 在群 ID 无效时抛出 `GroupNotFoundException`
优化
- 日志中, 发送给服务器的包将会被以名字记录, 而不是 id
2019-12-28 16:54:57 +08:00
## `0.7.5` *2019/12/09*
2019-12-09 14:03:41 +08:00
- 修复验证码包发出后无回复 (错误的验证码包)
2019-12-28 16:54:57 +08:00
## `0.7.4` *2019/12/08*
2019-12-08 21:11:02 +08:00
- 修复 bug
- 优化 JVM 平台上需要验证码时的提示
2019-12-28 16:54:57 +08:00
## `0.7.3` *2019/12/07*
2019-12-07 13:21:11 +08:00
- 删除 klock 依赖, 添加 Time.kt. 待将来 kotlin Duration 稳定后替换为 Duration
2019-12-28 16:54:57 +08:00
## `0.7.2` *2019/12/07*
2019-12-07 00:07:20 +08:00
- 使所有协议相关类 `internal`
- 去掉一些 `close` 的不应该有的 `suspend`
- `QQ`, `Member`, `Group` 现在继承接口 `CoroutineScope`
-`LoginResult``inline class` 修改为 `enum class`
- 添加和修改了 `BotAccount``Bot` 的构造器
2019-12-28 16:54:57 +08:00
## `0.7.1` *2019/12/05*
2019-12-05 20:39:05 +08:00
- 修复禁言时间范围错误的问题
- 禁言的扩展函数现在会传递实际函数的返回值
2019-12-28 16:54:57 +08:00
## `0.7.0` *2019/12/04*
2019-12-04 23:46:39 +08:00
协议
2019-12-04 23:46:22 +08:00
- 重新分析验证码包, 解决一些无法解析的情况. (这可能会产生新的问题, 遇到后请提交 issue)
- 重新分析提交密码包
2019-12-09 14:03:41 +08:00
- *提交验证码仍可能出现问题 (已在 `0.7.5` 修复)*
2019-12-04 23:46:22 +08:00
2019-12-04 23:46:39 +08:00
功能
2019-12-04 23:46:22 +08:00
- XML 消息 DSL 构造支持 (实验性) (暂不支持发送)
- 群成员列表现在包含群主 (原本就应该包含)
- 在消息事件处理中添加获取 `.qq()``.group()` 的扩展函数.
- 现在处理群消息时 sender 为 Member (以前为 QQ)
- 修改 `Message.concat``Message.followedBy`
- 修改成员权限 `OPERATOR``ADMINISTRATOR`
2019-12-07 13:21:11 +08:00
- **bot.subscribeAll<>() 等函数的 handler lambda 的 receiver 由 Bot 改变为 BotSession**; 此变动不会造成现有代码的修改, 但并不兼容旧版本编译的代码
2019-12-04 23:46:22 +08:00
2019-12-04 23:46:39 +08:00
性能优化
2019-12-04 23:46:22 +08:00
- 内联 ContactList
- 2 个 Contact.sendMessage 重载改为内联扩展函数 **(需要添加 import)**
- 其他小优化
2019-12-03 12:41:32 +08:00
2019-12-28 16:54:57 +08:00
## `0.6.1` *2019/12/03*
2019-12-03 12:41:32 +08:00
- 新增: 无法解析密码包/验证码包时的调试输出. 以兼容更多的设备情况
- 新增: `MessagePacket``At.qq()` 捷径获取 QQ
2019-12-28 16:54:57 +08:00
## `0.6.0` *2019/12/02*
2019-12-03 12:41:32 +08:00
- 新增: 禁言群成员 (`Member.mute(TimeSpan|Duration|MonthsSpan|Int|UInt)`)
- 新增: 解禁群成员 (`Member.unmute()`)
2019-12-04 23:46:22 +08:00
- 修复: ContactList key 无法匹配 (Kotlin 内联类型泛型投影错误)