mirai-core
优化和修复
- 修复取消发送
FriendMessage
却显示 'cancelled by GroupMessagePreSendEvent'
的问题 (#1851) - 优化日志性能 (#1880 by @AdoptOSS)
- 为生成的 IMEI 增加校验位 (#1855 by @cssxsh)
- 完善
RoamingMessages
文档 - 修复文档错别字 (#1902 by @Moyulingjiu)
- 补充文档错别字 (#1908 by @LaoLittle)
mirai-console
不兼容变更
- (仅影响前端实现) 调整了
MiraiConsoleImplementation
内部实现策略.
MiraiConsoleImplementation.Companion.getInstance
现在不会返回前端实现的对象, 而会返回MiraiConsoleImplementationBridge
.
(2ebd017)
重大变更
-
- 现在注册的
Extension
会通过其priority
属性排序, 越高越先弃用. - 在遇到
priority
相同时将会选用最先提供的, 而不会再询问用户选择. - 移除一些
ExtensionPoint
的builtinImplementations
, 在 Console启动第一时间初始化内置实现. - Console 内置的
Extension
的priority
为-1
. 用户自定义的Extension
的默认为0
. - 弃用了
SingletonExtension
,SingletonExtensionPoint
,AbstractSingletonExtensionPoint
. - 部分扩展的 companion object 的父类由
AbstractSingletonExtensionPoint
变为AbstractInstanceExtensionPoint
. (ABI 不兼容变更, 但对用户的影响应该极小) - 修复
contributeCommandCallParser
无效的问题 (#1860)
- 现在注册的
-
重写插件加载系统 (#1842)
- 修复插件没有隔离导致 class 冲突的问题 (#1815)
- 修复 mirai-console-gradle 插件打包排除默认依赖不完全的问题 (#1814)
- 支持不打包单独 JAR 的 JVM 插件加载方式 (#1809)
- 自动从仓库下载插件的依赖并自动共享依赖以减小体积
- 修复使用第三方依赖后,插件报错
java.lang.ClassNotFoundException
的问题 (#1802) - 调整插件类加载策略: 优先加载自己 JAR, 再从全局搜索; 让插件 JAR 携带除 mirai 外所有运行时依赖 (#1800)
- 以前插件 class 没有隔离, 不定义依赖也可以引用外部 class. 但这种行为在隔离后将不再允许. 目前会通过日志警告,
将来会禁止.
新特性
- 将控制台日志完整保存到文件 (#1844, #1874)
- 为默认的指令解析器支持转义和带空格的参数 (#1897 by @strear)
- 在 AutoLogin 配置中增加
heartbeatStrategy
, 可选值与 mirai-core 一致 ("STAT_HB" / "REGISTER" / "NONE"
). (#1867, #1903 by @Nambers)
优化和修复
- 修复插件依赖检查 (#1859 by @cssxsh)
- 仅在 Console 实例已经初始化之后才在 JVM 关闭时停止 Console 实例
- 修复权限取消, 并在取消权限指令中给出更多提示 (#1843 by @cssxsh)
- 优化在指令匹配群成员时的性能
- 修复文档错别字 (#1912 by @Colerar)
- 补全 AutoLogin 配置中对
protocol
的注释 (#1891 by @Stardust-minus)
miria-console-terminal
新特性
- 新增启动参数
--no-logging
, 用于关闭日志