## mirai-core ### 不兼容变更 - 弃用 `IMirai.Http` - 弃用 `BotConfiguration.json` ### 新特性 - 在达到 `AtAll` 每日使用上限后以新的 `reason` `AT_ALL_LIMITED` 抛出 `SendMessageFailedException` (#1948) > 在 2.10 说明了该行为, 但实际上并没有支持 - 在首次登录遇到任何错误时终止登录而不会重试, 修复日志提示 `NettyChannelException` 且长时间不结束的问题 (#1963) - 新增获取多种规格的群和用户头像, 修复群成员头像为 GIF 时获取的头像链接错误的问题 (#1557, #1721 by @cssxsh) ### 优化和修复 - 修复因网络波动原因, 出现反复掉线重连或产生大量日志的问题 (#1907) - 修复收到 `IllegalStateException: returnCode = -10106` 导致停止工作的问题 (#1840, #1957) - 修复登录时遇到 'Timeout waiting for ConfigPush' 等 ConfigPush 有关问题 (#1899, #1991) - 修复 `Image.size` 文档错别字 (#1978 by @zj713300) - 提升在以前版本弃用的 API 的弃用等级 (#1837) - 修复运行时产生大量错误日志的问题 (正确处理在心跳过程中遇到的错误) ( #1893) - 在心跳任务协程名称中包括 Bot ID - 更新依赖: - Kotlin: 1.6.21 - kotlinx.serialization: 1.3.2 - kotlinx.coroutines: 1.6.1 - ktor: 1.6.7 - log4j: 2.17.2 (#1969) ## mirai-console ### 不兼容变更 - 弃用 `JAutoSavePluginData` 和 `JAutoSavePluginConfig` (替换见下文) ( #1988) ### 新特性 - `PluginData`: 支持 `serializersModule` (`PluginData.serializersModule`) (#1796, #1987) - `PluginData`: 在定义 `value` 时使用精确的返回值, 解决一些需要手动定义类型的情况 (#1987) - `PluginData`: 支持 `MessageChain` 等所有 mirai 内置消息数据类型 ( #1922) - `PluginData`: 支持原生数组类型和引用数组类型 (#1801) - 新增 `JavaAutoSavePluginData` 和 `JavaAutoSavePluginConfig` 作为 `PluginData` 等的 Java 支持 (#1747, #1803, #1988) ### 优化和修复 - 修复 `AbstractPluginData.findBackingFieldValueNode` - 修复依赖 `isOptional=true` 的插件时无法正确处理依赖的问题 (自 2.0) ( #1949, #1968) - 修复取消权限时的错误信息 (#1918 by @cssxh) - 修复新版插件依赖在 init 块内调用依赖时会导致找不到的问题 (自 2.11) ( #1965) - 修复在下载依赖时试图下载并不存在的 JAR 的问题 (自 2.11) (#1975) - 修复指令文档的 Java 示例 (#1970 by @hundun000) - 补全 Java 示例文档 (#1970 by @hundun000) - 修复 `PluginDescription.isOptional` 的文档 (#1869) - 修复文档拼写错误 (#) ## mirai-console-gradle ### 优化和修复 - 在配置项目时优先使用 `optIn` 而不是 `useExperimentalAnnotation` ( #1986) - `buildPlugin` 打包的插件将会输出到 `build/mirai`, 与 2.11 以前保持一致 (自 2.11) - 修复 `buildPlugin` 会把子项目依赖也打包的问题 (自 2.11) (#1973) ## mirai-console-intellij ### 新特性 - 新的插件项目生成器 ([查看图片](https://github.com/mamoe/mirai/pull/1979)) ( #1976, #1979) - 新增 Run Configuration: RunTerminal, 默认使用项目目录下 debug-sandbox 作为运行目录 - 支持中文和英文 > 由于新项目生成器是 2022.1 的新功能, 新版本 v221-2.11.0-162-1 仅支持 > IntelliJ IDEA 2022.1 (和 Android Studio 等同版本).