mirror of
https://github.com/mamoe/mirai.git
synced 2025-01-14 20:50:09 +08:00
Archive history changelogs
This commit is contained in:
parent
034e256f2f
commit
2a711fc815
21
ci-release-helper/changelogs/2.10.1.md
Normal file
21
ci-release-helper/changelogs/2.10.1.md
Normal file
@ -0,0 +1,21 @@
|
||||
## mirai-core
|
||||
|
||||
### 优化和修复
|
||||
|
||||
- 修复取消发送 `FriendMessage` 却显示 'cancelled by
|
||||
GroupMessagePreSendEvent'
|
||||
的问题 (#1851)
|
||||
- 优化日志性能 (#1880 by @AdoptOSS)
|
||||
- 完善 `RoamingMessages` 文档
|
||||
- 修复文档错别字 (#1902 by @Moyulingjiu)
|
||||
- 补充文档错别字 (#1908 by @LaoLittle)
|
||||
|
||||
## mirai-console
|
||||
|
||||
### 优化和修复
|
||||
|
||||
- 仅在 Console 实例已经初始化之后才在 JVM 关闭时停止 Console 实例
|
||||
- 修复权限取消, 并在取消权限指令中给出更多提示 (#1843 by @cssxsh)
|
||||
- 优化在指令匹配群成员时的性能
|
||||
- 修复文档错别字 (#1912 by @Colerar)
|
||||
- 补全 AutoLogin 配置中对 `protocol` 的注释 (#1891 by @Stardust-minus)
|
7
ci-release-helper/changelogs/2.10.2.md
Normal file
7
ci-release-helper/changelogs/2.10.2.md
Normal file
@ -0,0 +1,7 @@
|
||||
## mirai-core
|
||||
|
||||
### 优化和修复
|
||||
|
||||
- 修复登录时遇到 'Timeout waiting for ConfigPush' 等 ConfigPush
|
||||
有关问题 (#1899, #1991)
|
||||
- 修复 `Image.size` 文档错别字 (#1978)
|
74
ci-release-helper/changelogs/2.11.0-M1.md
Normal file
74
ci-release-helper/changelogs/2.11.0-M1.md
Normal file
@ -0,0 +1,74 @@
|
||||
## 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`, 用于关闭日志
|
93
ci-release-helper/changelogs/2.11.0-RC.md
Normal file
93
ci-release-helper/changelogs/2.11.0-RC.md
Normal file
@ -0,0 +1,93 @@
|
||||
## 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 等同版本).
|
25
ci-release-helper/changelogs/2.11.0.md
Normal file
25
ci-release-helper/changelogs/2.11.0.md
Normal file
@ -0,0 +1,25 @@
|
||||
## mirai-core
|
||||
|
||||
### 优化和修复
|
||||
|
||||
- 修复 `AbsoluteFolder.resolveFileById` 在一些情况下会找不到文件的问题 (
|
||||
#2033)
|
||||
- 修复一些情况下心跳超时后不会重连的问题 (#2024)
|
||||
- 修复一些情况下发送数据包出错的问题 (#2006)
|
||||
- 修复文档错别字 (#2019 by @hundun000, )
|
||||
|
||||
## mirai-console
|
||||
|
||||
### 优化和修复
|
||||
|
||||
- 修复一些情况下找不到 `java.*` 或 `javax.*` 的问题 (#2009)
|
||||
- 修复 `ContactUtils` 中 `ContactOrBot.render` 不支持 `Stranger`
|
||||
的问题 (#2010)
|
||||
- 增加在 Java 注册扩展的文档 (#2021 by @MrXiaoM)
|
||||
|
||||
## mirai-console-gradle
|
||||
|
||||
### 优化和修复
|
||||
|
||||
- 修复 console 下载依赖时试图下载并不存在 JAR 的问题 (#1975)
|
||||
- 修复 buildPlugin 未打包子项目间依赖的问题 (#2038)
|
160
ci-release-helper/changelogs/2.12.0-RC.md
Normal file
160
ci-release-helper/changelogs/2.12.0-RC.md
Normal file
@ -0,0 +1,160 @@
|
||||
## mirai-core
|
||||
|
||||
2.12 带来以下主要更新:
|
||||
|
||||
- `EventChannel` 到协程 `Flow` 的对接;
|
||||
- 消息链性能优化;
|
||||
- 针对开发易用性的优化;
|
||||
- 对调试插件的更好支持;
|
||||
- 大量文档更新;
|
||||
- 以及一些问题修复。
|
||||
|
||||
### 不兼容变更
|
||||
|
||||
- 弃用 `EmptyMessageChain`,以 `emptyMessageChain()` 函数替换 (#1997)
|
||||
> 因为内部结构有变更,见下文。Java
|
||||
可以 `MessageUtils.emptyMessageChain()` 替换。
|
||||
|
||||
- `MarketFace.contentToString`
|
||||
现在在原本会返回空字符串的情况下会返回 `"[商城表情]"` (#2030 by
|
||||
@cssxsh)
|
||||
> 原本会返回空字符串是因为服务器提供的表情名称可能为空。
|
||||
|
||||
- 修复 `FileMessage` 的序列化名称 (#2041 by @cssxsh)
|
||||
> 以前错误地使用了 `Image`,现在改为 `FileMessage`
|
||||
。以前序列化的 `FileMessage` 可能会无法反序列化。
|
||||
|
||||
- `Image.equals` 现在会比较全部属性
|
||||
> 而不是只比较 `imageId`。因为现在图片没有一些详细属性时可能无法发送。
|
||||
|
||||
- 弃用 `EventDisabled` 属性 (#1911)
|
||||
> 它可以关闭事件功能,但这并不是明智的做法。
|
||||
|
||||
- 弃用 `GroupEntranceAnnouncementChangeEvent` (#1873)
|
||||
> 这个事件在 2.7 增加 `Announcements` 时就已经无效了。
|
||||
|
||||
### 新特性
|
||||
|
||||
- 优化 `MessageChain` 实现的性能,现在在大量调用 `Message.plus`
|
||||
构造消息链也能获得与 `MessageChainBuilder` 相当的性能。(#1997)
|
||||
> 只修改了内部实现,API 及行为都没有变化。
|
||||
- 优化处理合并转发消息的效率
|
||||
- 新增 `EventChannel.asFlow` 获得事件通道的 `Flow<...>` (#1911)
|
||||
> 协程 `Flow` 很适合承载事件广播功能,拥有更高的通用性和扩展性。(mirai
|
||||
未使用是因为在
|
||||
mirai `EventChannel` 设计之时 `Flow` 还未稳定)
|
||||
- 新增 Java 友好的 `EventChannel.exceptionHandler()` (#1953)
|
||||
- 新增 `BotConfiguration.disableAccountSecretes` 关闭 `account.secrets`
|
||||
> account.secrets 保存账号的会话信息。
|
||||
它可加速登录过程,也可能可以减少出现验证码的次数。如果遇到一段时间后无法接收消息通知等同步问题时可尝试禁用。
|
||||
|
||||
### 优化和修复
|
||||
|
||||
#### 消息
|
||||
|
||||
- 部分的消息类型的 `toString` 将包含更多属性,涉及:
|
||||
- `Image`
|
||||
> 现在图片没有一些详细属性时可能无法发送,因此属性也与 imageId
|
||||
一样重要。更多的信息将帮助调试。
|
||||
- `MessageSource`
|
||||
- `QuoteReply`
|
||||
- `FileMessage`
|
||||
|
||||
- `Image.toString` 现在将包含全部属性
|
||||
|
||||
- 重写消息协议层与发送消息流程 (#1997)
|
||||
> 可扩展,易于测试,为将来支持频道和模块化等做准备。这不会影响现有的功能。
|
||||
- 为 `ForwardMessage.BuilderNode` 实现 `toString`
|
||||
|
||||
#### 事件
|
||||
|
||||
- 优化 `EventChannel` 事件异常处理机制 (#1911)
|
||||
> 现在广播方不会收到来自监听方的事件,监听方有全部责任处理自己的异常,未处理的异常会通过默认日志输出。
|
||||
- 优化 `nextEvent` 和 `syncFromEvent`:
|
||||
- 完善文档
|
||||
- 在遇到异常时正确停止监听器
|
||||
- 针对异常处理机制完善事件相关文档:`Event`、`EventChannel`、`Listener`
|
||||
- 增加事件追踪日志,可由 `-Dmirai.event.trace=true` 启用
|
||||
> 这将会在遇到异常时输出注册事件监听器时的 stacktrace,以及记录每一个事件的广播。
|
||||
- 修复官方 macOS 客户端发送给机器人的图片后缀均为 `.mirai` 的问题 (
|
||||
#1111)
|
||||
|
||||
#### 其他
|
||||
|
||||
- 更新开发文档索引
|
||||
> 现在在开发介绍文档中能访问 mirai-console 相关文档,在《准备工作》中也能了解启动
|
||||
console 的方式。
|
||||
- 为 `Bot.close` 的自动登出增加超时
|
||||
|
||||
## mirai-console
|
||||
|
||||
[指令文档]: https://github.com/mamoe/mirai/blob/dev/mirai-console/docs/Commands.md
|
||||
|
||||
### 新特性
|
||||
|
||||
- 新增 `CommandContext`,支持在指令中获得原消息链 (#2099)
|
||||
> 三种内置指令 `RawCommand`、`SimpleCommand` 和 `CompositeCommand` 的
|
||||
Kotlin 以及
|
||||
Java 版(`J` 前缀)都支持。参考[文档][指令文档]。
|
||||
> 能获得原消息链也就能获得 `MessageMetadata` (#1835)。
|
||||
- 支持在 `JSimpleCommand` 和 `JCompositeCommand`
|
||||
修改 `CommandArgumentContext`
|
||||
> 参考[文档][指令文档]。
|
||||
- 增加 `PluginCustomCommandSender` 可供插件实现 `CommandSender` (#1964)
|
||||
- 新增 `MiraiConsole.shutdown` 来*优雅*地关闭 Console (#1959, #2016)
|
||||
- 修复收到 SIGINT Console 不退出的问题 (#2042)
|
||||
- 关闭时有一分钟限时,超时后强制结束
|
||||
> *优雅*指的是会禁用插件,依次停止各种服务并保存数据。
|
||||
- 在加载配置和数据文件失败时自动备份原文件 (#2089 by @cssxsh)
|
||||
- 当插件加载失败时标记其为加载失败而不关闭 Console (#2022 by @Nambers)
|
||||
> 当有插件依赖这个失败的插件时,也会禁用相关插件。
|
||||
> 实际上该功能可由前端选择是否开启。mirai 官方的终端前端以及 Mirai
|
||||
Android 都会启用该功能。
|
||||
- 相反于加载顺序卸载插件 (#1994)
|
||||
> 若 A 依赖 B,现在会先卸载 A 再卸载 B。
|
||||
|
||||
### 优化和修复
|
||||
|
||||
#### 插件
|
||||
|
||||
- 修复插件无法使用更高版本的 Ktor 等 mirai-core 也使用的依赖的问题 (
|
||||
#2051)
|
||||
> 现在可以使用 Ktor 2.0
|
||||
- 修复插件在引用了相同的库时,在某些的情况下会产生冲突的问题 (#2054)
|
||||
- 修复在插件配置的路径中使用子路径出现的异常的问题 (#2088 by @MrXiaoM)
|
||||
|
||||
#### 文档
|
||||
|
||||
[指令参数智能解析
|
||||
]: https://github.com/mamoe/mirai/blob/dev/docs/ConsoleTerminal.md#%E6%8C%87%E4%BB%A4%E5%8F%82%E6%95%B0%E6%99%BA%E8%83%BD%E8%A7%A3%E6%9E%90
|
||||
|
||||
[ConsoleTerminal]: https://github.com/mamoe/mirai/blob/dev/docs/ConsoleTerminal.md
|
||||
|
||||
- 增加关于使用日志的文档 (#2003)
|
||||
- 现在 `PluginManager.getPluginDescription` 不再需要插件已被加载 (#2052)
|
||||
> 这可能帮助实现 `PluginLoader`。
|
||||
- 重写[指令文档]
|
||||
> 增加大量示例、覆盖更多内容、用语更简单。
|
||||
> 增加关于智能参数解析的文档 ([面向用户][ConsoleTerminal]
|
||||
和[面向开发者][指令参数智能解析
|
||||
]的都有) (#1952)
|
||||
- 优化事件文档
|
||||
> 警告在插件中使用 `GlobalEventChannel` 的危险性。
|
||||
- 优化文档细节 (#2078 by @xtyuns, #2067 by @CauchyDOOM, #2095 by
|
||||
@Hugozys)
|
||||
|
||||
## mirai-console-gradle
|
||||
|
||||
### 新特性
|
||||
|
||||
[调试文档]: https://github.com/mamoe/mirai/blob/155e4a6ec4cd7ede2ed5bf6d947fbc9d7f4e1aa6/mirai-console/docs/plugin/JVMPlugin.md#%E8%B0%83%E8%AF%95
|
||||
|
||||
- 新增任务 `runConsole` 启动模拟 `Mirai Console` 实例 (#2056, #2058)
|
||||
> 解决了在 IDEA 直接运行 RunTerminal 时出现 `NoClassDefError`
|
||||
等错误的问题 (#2055)。现在在
|
||||
IDEA 新生成的项目可以选择 Mirai 文件夹中的 `Run Mirai Console`
|
||||
来启动测试。详见 [文档][调试文档]。
|
||||
|
||||
### 优化和修复
|
||||
|
||||
- 修复 `shadowLink` 打包的依赖在其他依赖也引用时无效的问题 (#2070)
|
14
ci-release-helper/changelogs/2.12.0.md
Normal file
14
ci-release-helper/changelogs/2.12.0.md
Normal file
@ -0,0 +1,14 @@
|
||||
## mirai-core
|
||||
|
||||
### 优化和修复
|
||||
|
||||
- 修复部分情况下发送图片无法显示和发送 GIF 后图片不播放的问题 (#2114 by
|
||||
@sandtechnology)
|
||||
> 此问题并非 2.12.0-RC 引入
|
||||
|
||||
## mirai-console
|
||||
|
||||
### 优化和修复
|
||||
|
||||
- 修复前置插件存在私有依赖时, 插件无法链接相同依赖的问题 (#2108)
|
||||
> 此问题于 2.11 引入
|
3
ci-release-helper/changelogs/README.md
Normal file
3
ci-release-helper/changelogs/README.md
Normal file
@ -0,0 +1,3 @@
|
||||
# Changelogs
|
||||
|
||||
本目录存档历史版本的变更记录
|
Loading…
Reference in New Issue
Block a user