mirai/ci-release-helper/changelogs/2.14.0.md
2023-02-06 12:21:07 +08:00

3.9 KiB
Raw Blame History

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)
  • 修复 Plugin.onLoad 抛出错误时没有终止 console 的错误

    此错误在 2.14.0-RC 引入

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