v2.14.0-RC
版本发布时间: 2023-01-18 23:29:37
mamoe/mirai最新发布版本:v2.16.0(2023-10-22 14:43:15)
mirai-core
不兼容变更
- 删除 SwingLoginSolver (#2410)
它以前是设计给解决图形验证码, 而现在基本不会遇到图形验证码了。现在将默认使用命令行版本 LoginSolver。 以前使用 "-Dno-desktop" 可以禁用 SwingLoginSolver,现在这个选项将没有效果,不会报错。
- 现在使用 RemoteFile 将会得到编译错误
RemoteFile 早在 2.8 就弃用了, 使用时会得到警告. 现在起使用将会得到编译错误.
新特性
- 群聊获取历史消息 (
Group
实现RoamingSupported
) (#1866, #2332 by @StageGuard )
可使用
group.roamingMessages
/group.getRoamingMessages()
- 商城表情: 石头剪刀布 (#2220 by @cssxsh )
类型名称为
RockPaperScissors
- 群打卡事件支持 (#1663, #2217 by @cssxsh )
类型名称为
SignEvent
-
Announcement
现在可以获取 已确认/未确认 的群成员 (#2255 by @cssxsh )
优化和修复
- 修复无法登录的问题 (#2433 by @sandtechnology )
此修复也会在 2.13.4 包含
- 修复群员列表缓存文件不完整时会导致 bot init 失败的错误 (#2399)
- 当设备信息等变更的时候清除缓存 (#2346, #2388)
不清除会导致登录失败等问题
- 修复 iOS 无法查看私聊转发消息的问题 (#1575)
- 修复转发消息存在特殊字符时无法加载的问题 (#2241)
- 修正
contentToString()
注释不严谨处 (#2373, #2374 by @MrXiaoM ) - 修正 PokeMessage.id (#2170)
- 修复 QuoteReply 无法引用 bot 发出的 ForwardMessage (#2342)
- 修改日志等级的颜色 (#2336)
现在 WARN 是金黄色,而不是红色
mirai-core-mock
优化和修复
- 避免 MockAbsoluteFile.md5/sha1 可能为空 (#2436 by @Nambers )
- 修复部分信息撤回逻辑不正确的错误 (#2421 by @Nambers )
- 修复
MockNormalMember.modiyAdmin()
逻辑错误 (#2420 by @Nambers ) - 修复 uploadMockImage 上传相同文件时触发 java.nio.file.FileAlreadyExistsException (#2401)
- 引入 AvatarGenerator
- 修复联系人头像等信息更新同步的问题
mirai-console
新特性
- JvmPlugin 中现在可以调用 mirai console 所使用的针对 Kotlin object 优化后的 SPI Service Loader (#2247 by @cssxsh)
优化和修复
- 修复
JvmPlugin.onDisable
被多次执行的错误 (#2015, #2397) - 修复低版本 Android 系统报错
java.lang.NoSuchMethodError: No virtual method getDeclaredAnnotation(Ljava/lang/Class;)L
(#2354 by @zhaodice) - 在命令的报错中去除不必要的
InvocationTargetException
包装 (#2258 by @cssxsh ) - 优化 MiraiLogger (在 mirai-console) 性能 (#2341)
- SLF4J 支持 (#2341)
IDEA
- 支持 2022.3 (#2372)
- 新插件版本号为
223-2.14.0-172-1
- 新版本只支持 2022.3 + Kotlin 1.7.20 (因为 2022.3 捆绑 1.7.20)
- 新插件版本号为
关于 mirai-console SLF4J 支持 (#2341)
配置文件修改
修改均为默认配置, 先前已经生成的配置不会进行修改
Logger.yml
# 默认日志输出等级
# 可选值: ALL, VERBOSE, DEBUG, INFO, WARNING, ERROR, NONE
defaultPriority: INFO
# 特定日志记录器输出等级
loggers:
example.logger: NONE
console.debug: NONE
Bot: ALL
+ org.eclipse.aether.internal: INFO
+ org.apache.http.wire: INFO
+# 是否启动外部日志框架桥接
+binding:
+ slf4j: true
ABI 变更
注: 实际上 console 没有直接的 ABI 变更
依赖更新: org.slf4j:slf4j-api:1.7.32
-> 2.0.3
此依赖的更新只会影响 slf4j-api
的对接, 并不会影响 slf4j-api
的单纯使用
即不会对插件有任何影响, 只会对部分对 console 进行高度自定义的会有少许影响
其他 API 变更
- mirai-logging-log4j2 现在使用
org.apache.logging.log4j:log4j-slf4j2-impl
- mirai-logging-slf4j-logback 现在使用 1.3.4
- mirai-core-all 现在携带的是 slf4j 2.0.x
新年快乐! 🎆🎉