Koishi 4.17.6
Features
- http: 支持了
ctx.http.isError
(用于取代HTTP.Error.is
) (cordiverse/http@f2d8908) - http: 将 HTTP 内置服务单独作为预装插件发布 (更新时将自动迁移) (4e2f9b7)
- koishi: 支持了
,
和_
作为大数的分隔符 (#1386) (be8bcb2) - minato: 支持了两表的左连接语义 (cordiverse/minato#89) (cordiverse/minato@06d6562)
- minato: 优化了部分 API 的类型签名 (cordiverse/minato@728b4d8)
- minato: 优化了
$.object()
,修复了 SQLite 对于 JSON 处理的一些边界情况 (cordiverse/minato#94) (cordiverse/minato@72ea137) - minato: 支持了完整的位运算操作符 (cordiverse/minato#93) (cordiverse/minato@4ad01c0)
- satori: 通过 Associate API 支持下游生态扩展 Bot API (satorijs/satori@3de44dc)
- yakumo: 适配了最新 Cordis Loader (cordiverse/yakumo@80985be)
Bug Fixes
- commands: 修复了添加的指令别名在配置文件中保存为
null
并且实际失效的问题 (koishijs/webui@b82f45b) - http: 修复了使用 ESM 时,WebSocket 的
proxyAgent
可能无法工作的问题 (cordiverse/http@19da9b9) - logger: 修复启动时产生大量日志可能导致崩溃的问题 (koishijs/webui#326) (koishijs/webui@02bc617)
- minato: 修复了请求长度为 0 的列表失败的问题 (cordiverse/minato#92) (cordiverse/minato@538b748)
- minato: 修复了 join-where-order 结构下的 SQL 异常问题 (cordiverse/minato#95) (cordiverse/minato@2673719)
- sqlite: 修复了对 BigInt 支持异常的问题 (cordiverse/minato#96) (cordiverse/minato@7f5926a)
- sqlite: 修复了启动时会修改
config
对象导致后续异常重载的问题 (cordiverse/minato@2c43c43)
Next Updates
以下变更属于开发中的 Cordis 生态,并不会影响 Koishi 的行为,但会在未来版本为 Koishi 提供更多功能。
-
loader: 重新设计并实现了 Loader API,具备完整的配置文件管理能力:
- 实现了
create
,update
,remove
操作 (cordiverse/cordis@e67ea4a) - 实现了完整的隔离域算法,包括隔离域更新机制、副作用回收、插件跨隔离域迁移等功能 (cordiverse/cordis@ea310e9, cordiverse/cordis@b9d4778, cordiverse/cordis@db9530a, cordiverse/cordis@d37e598, cordiverse/cordis@25e595f, cordiverse/cordis@b5b92f4, cordiverse/cordis@7ac5457, cordiverse/cordis@177ea0d)
- 支持了
entry.inject
,用于管理不同生态层级中的插件 (cordiverse/cordis@79c564a) - 支持了基于
--expose-internal
的插件导入,理论上支持了所有包管理器的依赖解析语义 (cordiverse/cordis@0fb99bd) - hmr: 修复了若干导致 HMR 失效的边界情况 (cordiverse/cordis@dc605cb)
- hmr: 仅在 HMR 成功时触发相关事件 (cordiverse/cordis@8fa2175)
- 实现了
-
webui: 初步实现了 Cordis WebUI,在 Koishi 的基础上有以下变化:
- 重构为纯 ESM (cordiverse/webui@a9980c7, cordiverse/webui@d04845d, cordiverse/webui@547caf0)
- 废弃了
DataService
并重新设计了数据推送机制 (cordiverse/webui@0fe9ace, cordiverse/webui@627b7fb) - 将现有的客户端事件机制改为通过 HTTP 通信,以便在更多场景下使用 (cordiverse/webui@30b9a42)
- 支持了客户端入口级别的 HMR,并解决了部分情况下 HMR 报错的问题 (cordiverse/webui@0da5434, cordiverse/webui@37fd46a)
- 支持了 UnoCSS 自动导入 (cordiverse/webui@c80a278)
- 提供了标准化的配置管理 HTTP API (cordiverse/webui@c453740, cordiverse/webui@e50b923)
- 配置管理支持了增量式更新,加载页面更迅速 (cordiverse/webui@23ee289)
-
registry: 实现了 @cordisjs/registry,在 Koishi 的基础上有以下变化:
- 支持了
manifest.exports
,允许在一个包中发布多个插件 (cordiverse/webui@ccf6cfb, cordiverse/webui@ae18578) - 支持了
manifest.ecosystem
,允许插件建立多级生态 (cordiverse/webui@a85dcc9)
- 支持了
-
database: 初步实现了 @satorijs/plugin-database,它为 Satori 提供了数据库能力,用于改善聊天应用的体验:
- 实现了
ctx.satori.database
服务 (satorijs/satori@4d0b4d1) - 通过
Span
算法实现了增量式、可靠、高并发的消息数据库 (satorijs/satori@4e90bab, satorijs/satori@0a199ab, satorijs/satori@e27ee3a, satorijs/satori@3654016, satorijs/satori@766f660, satorijs/satori@062bded, satorijs/satori@69ac82c, satorijs/satori@2abeded, satorijs/satori@152ff1e, satorijs/satori@05086e8, satorijs/satori@9600ef7, satorijs/satori@a3a6fd0)
- 实现了
Other Changes
- chore: fix missing dependency, fix #1393 (809e6da)
- chore: release v0.1 (cordiverse/webui@0990f20)
- chore: bump versions (cordiverse/yakumo@f3de46d)
- refa: migrate framework API (satorijs/satori@5172e2e)
- i18n: use esm import instead of require (cordiverse/minato@895f2bc)
- chore: bump versions (cordiverse/http@90e1608)
- chore: bump versions (cordiverse/cordis@6648355)
- chore: bump versions (cordiverse/minato@f178a94)
- refa: migrate to satori core and bot association (61e4248)
- test: use mock from node:test instead of jest mock (4d49bcc)
- chore: bump versions (satorijs/satori@28d8629)
- chore: bump versions (e496ddb)