mirai/ci-release-helper/changelogs/2.11.0-M1.md
2022-07-31 15:01:18 +08:00

74 lines
3.1 KiB
Markdown

## 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. (https://github.com/mamoe/mirai/commit/2ebd017786cdb912715821f9fd4ba193829089b1)
### 重大变更
- 重写扩展组件系统 (#1888, #1889):
- 现在注册的 `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`, 用于关闭日志