Skip to content

Releases: koishijs/koishi

Koishi 4.8.0

12 Jul 18:47
1b29548
Compare
Choose a tag to compare

注意:当前版本修改了较多内容,因此本轮更新的包都需要通过 @next 或写明版本号来进行安装或升级。如果担心可用性受到影响,可忽略此次更新。

Notable Changes

我们将适配器相关逻辑移至新仓库 satorijs/satori 中,并调整了适配器 / 机器人的 API,使之成为可重用的插件。想要升级到此版本的用户请参考以下升级指南:

  1. 所有的适配器插件不再有 bots 配置项了,如果要安装同一个适配器的多个 Bot 实例,只需安装对应的插件多次即可;同时 protocol 配置项变为必选
  2. discord: indents 配置项修改为 bitset 类型,可以在网页控制台中控制每一种事件是否订阅了
  3. telegram: protocol 配置项的可选值修改为 server (原来是 http) 和 polling
  4. kaiheila: 适配器插件名称调整为 kook

Features

  • adapter: 迁移到 @satorijs,支持了适配器可重用 (#683) (参见下方 refa 部分)
  • client: 支持了 tagged union,允许 union 对象由内部属性进行切换 (#738) (91aad42)
  • manager: 支持了插件配置界面的扩展内容 (73f02b5)
  • qqguild: 支持了 Internal API (satorijs/satori@c790afa)

Bug Fixes

  • core: 修复了部分情况下不会自动建表的问题 (3fdb20d)
  • core: 修复了 schedule 等插件会错误保存 scope guild 数据的问题 (39fc058)
  • console: 优化了服务端的错误处理 (e94763f)
  • manager: 修复了全局配置修改后无法保存的问题 (#734) (#745) (42eeafd)
  • puppeteer: 修复了不支持 node 12 的问题 (cff3c02)
  • qqguild: 修复了空 attachments 会导致报错的问题 (#687) (#716) (#741) (bc3b504)
  • status: 修复了 metaInterval 配置项不工作的问题 (3124525)

Other Changes

  • refa: migrate to @koishijs/registry (2d759fb)
  • refa: move some utils to cosmokit (cc5580c)
  • build: migrate to dtsc v2 (7535ff7)
  • refa: refactor core to cordis v2 + satorijs (39fc058)
  • build: update workflow (24828e4)
  • refa: migrate all adapter plugins to @satorijs (abd1714)
  • refa: fix core typings (5b4e074)
  • refa: migrate @koishijs/segment to @satorijs (6032d82)
  • refa: migrate common plugins (ef76432)
  • refa: migrate mock and puppeteer plugins (ba70ac8)
  • refa: migrate console plugins (0043d0e)
  • refa: upgrade manager to new adapter / bot api (2aa6c9d)
  • refa: fix typing issues (e8a2828)
  • docs: add official repo testing guide (2c8b237)
  • refa: fix unit test errors (a90afd6)
  • build: support scaffold command (1bec063)
  • refa: remove unused packages (b66b204)
  • refa: upgrade sandbox to new adapter / bot api (f607708)
  • chore: bump versions (1b29548)

Koishi 4.7.6

29 Jun 21:02
b4d678c
Compare
Choose a tag to compare

这应该是最后一个 4.7 的版本了 (大概)。

Features

  • client: 支持了独立 const 类型的显示 (e76c1ca)
  • client: 支持了多种不同类型的 union 显示 (5842477)
  • client: 支持了嵌套类型的 union 显示 (59ce98e)
  • manager: 添加新插件时支持搜索插件名了 (40d95e0)
  • manager: 可以从左侧栏中添加插件和插件组了 (#720) (36c9c19)
  • puppeteer: 支持了更多高级配置项 (4051a5c)

Bug Fixes

  • admin: 修复了当 autoAssign 设置为 false 时 assign 指令对不在数据库中的频道失效的问题 (#616) (d66ac7f)
  • cli: 当配置文件中含有无法解析的插件时依然可以正常启动了 (bd3114e)
  • core: 重新添加了在过去版本中被误删的上下文 API (733a0f9)
  • manager: 修复了不支持 scoped 插件的问题 (f4c8d86)
  • manager: 修复了在控制台中安装插件后版本未及时更新的问题 (#735) (fc30acc)
  • scripts: 对包名中的错误字符进行检测 (#729) (ff5b0ed)

Other Changes

Koishi 4.7.5

19 Jun 21:59
973735e
Compare
Choose a tag to compare

Notable Changes

  • cordis: 新增了 ctx.isolate() 方法,用于创建具有隔离服务的新上下文 (cordiverse/cordis@b78516f, cordiverse/cordis@741448c)
  • core: 新增了 defineDriver() 方法,用于创建可重用的数据库插件;官方的数据库插件目前也已全部支持重用了 (5be03ad)

Features

  • cli: 支持了在插件组配置中使用 $isolate$filter 修饰符 (6f26772, b8ab3c8, f39100b)
  • client: 优化了配置模式界面中嵌套结构的路径显示 (#700) (3023dbb)
  • cordis: 新增了 ctx.extend() 方法,用于以当前上下文为原型创建新上下文 (cordiverse/cordis@72a1e32)
  • cordis: 新增了 Context.filter 符号,可用于给事件监听器传入非会话的 this (cordiverse/cordis@20212d8)
  • cordis: 新增了底层事件 internal/runtimeinternal/fork,可用于监听插件状态变更 (cordiverse/cordis@ea18542)
  • cordis: 新增了 Context.source 符号,可用于更准确地追踪服务的来源 (cordiverse/cordis@ec49876)
  • manager: 支持在配置界面中显示上下文修饰符 (54befd0)
  • manager: 针对服务隔离优化了配置界面里的依赖显示 (d4712bf)

Bug Fixes

  • cordis: 修复了可重用插件的依赖变更后手动 state.update() 可能执行异常的问题 (cordiverse/cordis@c328781)
  • cordis: 修复了同时配置了 usingreusable 的插件可能执行异常的问题 (cordiverse/cordis@c339c50)
  • cordis: 修复了 app.stop() 后再次执行 app.start() 功能异常的问题 (cordiverse/cordis@4e84d33)
  • insight: 修复了依赖图不会即时响应插件树变更的问题 (#722) (db346df)
  • insight: 修复了部分服务依赖不会显示在依赖图中的问题 (#724) (786a95d)
  • manager: 修复了插件无法被拖拽入空插件组的问题 (5aaa234)
  • manager: 修复了插件市场界面中部分插件无法显示完整的问题 (#705) (67584e5)

Other Changes

  • build: remove linux/arm/v7 from build target (ad06582)
  • refa(core): update cordis to 1.4.1 (1f1ef0e)
  • chore: remove hidden flag for plugin-suggest (78058a4)
  • refa: update cordis version (ee831e0)
  • chore: bump orm plugin versions (c59cccf)
  • refa: update cordis version (e668129)
  • refa: use unified plugin loader (c0168ff)
  • refa: prevent hot reload when config file is being written (13455a1)
  • refa: add ctx.chain() and ctx.waterfall() (d313d46)
  • chore: bump versions (973735e)

Koishi 4.7.4

13 Jun 21:41
a40c27e
Compare
Choose a tag to compare

Features

  • insight: 针对可重用插件优化了依赖图的节点显示 (ca492b2)
  • manager: 支持了对插件、分组设置引用别名 (f9f60b3, c2e6acf, 41fda37, 30aff4e)
  • manager: 支持了从配置文件中移除插件和插件组 (02ae498)
  • manager: 针对本地无法访问的插件给出警告,并提示前往插件市场下载 (e97c414)
  • manager: 针对不可重用的插件的重复创建将给出警告 (242d7ba)

Bug Fixes

本次更新修复了两个严重 bug,建议所有 4.7.3 用户升级到此版本。

  • cli: 使用 : 代替 @ 以解决无法加载带 @ 前缀的插件的问题 (#713) (60cd7db)
  • cli: 将插件组作为可重用插件加载,修复会话事件无法监听的问题 (#715) (6880661)
  • client: 修复了部分页面侧边栏滚动条显示异常的问题 (#708) (fb553c8)
  • cordis: 修复了认为所有 Service 都是可重用插件的问题 (cordiverse/cordis@7d8e4ef)
  • manager: 修复了适配器插件在分组内时机器人创建时可能的错误行为 (880b965)

Other Changes

Koishi 4.7.3

09 Jun 21:23
f8577db
Compare
Choose a tag to compare

Notable Changes

本次更新支持了插件组功能。

  • cli: 支持了配置文件中的插件组语法 (5ddca9b)
  • cli: 支持了插件组相关的 API (73e2555, cd512d3)
  • manager: 使用树形结构显示插件列表 (d8584c3)
  • manager: 现在加载 / 卸载插件时插件位置不会改变了 (34f431b)
  • manager: 支持了插件和插件组的拖动管理 (bcf3e1a)
  • manager: 支持了在插件组中添加插件 (36f4ed8, 104b942, 890b7c7)
  • manager: 支持添加嵌套的插件组 (0bdb715)
  • manager: 支持保存插件组的收起 / 展开状态 (17fcdca)
  • manager: 支持在插件市场中点击「配置」时自动定位或添加新的插件 (8830f2a)

Features

Bug Fixes

  • cli: 优化了插件卸载时的诊断行为 (54eca64)
  • cordis: 修复了可重用插件的一个可能的内存泄漏问题 (cordiverse/cordis@f969f9d)
  • manager: 修复了由于高并发导致的插件市场请求失败 (7c84357)
  • manager: 修复了依赖安装完成后依然显示红点的问题 (#704) (c06d984)
  • manager: 修复了部分情况下添加机器人将无法生成正确配置的问题 (#693) (0cc419f)
  • onebot: 修复了模拟 send 事件导致的循环触发问题 (083034d)
  • orm: 修复了 level, mongo, mysql 插件名称显示错误的问题 (3976faf)
  • scripts: 修复了通过 setup 创建插件时名字带 koishi-plugin 前缀将会导致插件无法加载的问题 (#709) (#710) (d86ec4d)

Other Changes

  • chore: migrate docs to koishijs/koishijs.github.io (6e3a66a)
  • chore: bump versions (f8577db)

Koishi 4.7.2

27 May 21:40
8769ba7
Compare
Choose a tag to compare

Notable Changes

  • core: help 和 suggest 这两个插件现已不再内置,老用户需要手动添加依赖到配置文件中 (5c5de46)
  • infra: 支持了可重用插件,即通过特殊事件 fork 允许插件被多次加载,并妥善处理每一次时的逻辑 (compare)
  • market: 支持了在 package.json 中添加一个 koishi 属性来配置要显示在插件市场中的信息 (13f143f, d5260d6, 511c242, 3f38b68, 24484c7)

Features

Bug Fixes

  • client: 修复了部分嵌套数据结构下某些 schema 的描述不显示的问题 (#692) (dfc3b13)
  • sandbox: 修复了沙盒在无数据库情况下加载失败的问题 (2dceb95)
  • scripts: [MAJOR] 修复了 tsc 报错没有正常显示的问题 (#650) (4587f9a)

Other Changes

Koishi 4.7.1

22 May 19:22
98d6c4d
Compare
Choose a tag to compare

Notable Changes

  • adapter: 现在机器人自身发送的消息也会触发 message 事件了 (但依然不会经过中间件) (b6d723d)
  • infra: 发布了新的核心包 cordis,它作为 Koishi 的底层框架提供了上下文、插件系统、事件模型等核心功能 (804bbfd, 1bd1425, 948c5e8, 2898b09)
  • help:help 指令及其相关功能从 core 中移到了独立官方插件中 (9e5c747)
  • suggest:session.suggest() 及其相关功能从 core 中移到了独立官方插件中 (1c462bd)

Features

Bug Fixes

  • chat: 修复了连续多条消息没有自动合并的问题 (b3c449e)
  • cli: 修复了进程退出时发生错误会导致重启的问题 (#685) (5d0bfbc)
  • core: 修复了 session.sendQueued() 没有返回值的问题 (6a4e96e)
  • infra: 修复了多次切换服务可能导致内存泄漏的问题 (cordiverse/cordis@9f5070f)
  • rate-limit: 修复了 help 指令不能正确显示剩余次数和时间的问题 (1aac4df)
  • sandbox: 修复了用户数据面板显示值与实际值不一致的问题 (#664) (39d4641)
  • manager: 修复了将未加载的服务也显示为加载的问题 (#676) (3e11a5b)

Other Changes

  • build: fix docker ci caused by the difference between podman and docker (#682) (47ebfcd)
  • chore: bump plugin versions (de9cd1f)
  • build: add milestoned issue backlogging (#674) (2fc58aa)
  • docs: pretty twoslash error log (#686) (b38b481)
  • test: fix unit tests (d5802cb)
  • test: fix unit tests (56af3d6)
  • chore: bump versions (98d6c4d)

Koishi 4.7.0

15 May 22:27
7eb7912
Compare
Choose a tag to compare

Notable Changes

  • orm: 我们将 cosmotype 更名为 minato,对应组织更名为了 minatojs

Features

Bug Fixes

  • client: 修复了 createStorage() 中的数组会强行转换为对象的问题 (c81440f)
  • console: 修复了开发模式下由于 vue 安装多个不同版本导致的前端报错问题 (5cbfbf5)
  • core: 修复了 session.cancelQueued() 的错误行为 (#630) (#665) (722366d)
  • core: 修复了 adapter 插件不支持热重载的问题 (#679) (007a6f3)
  • qqguild: 修复了接收到 attachment 消息时会报错的问题 (#622) (#672) (6a19380)
  • status: 移除了 systeminformation 依赖,修复了相关问题 (#670) (koishijs/koishi-desktop#25) (c5ed7dc)

Other Changes

Koishi 4.6.3

08 May 12:35
Compare
Choose a tag to compare

Notable Changes

  • manager: 现已支持在控制台中管理非插件的依赖了,借助这个功能可以实现直接在网页中更新 Koishi 的版本 (af10bd2, b7346b2)

Features

  • adapter: 支持了新 API bot.kickGuildMember() (b85397f)
  • manager: 支持了配置项 registry,可手动设置插件市场使用的下载源 (#654) (#657) (2161507)
  • manager: 插件市场面板优化了的搜索关键词的显示效果 (3c8b458)
  • manager: 依赖管理面板支持了显示标识版本范围的 ~^ 记号 (50187bd)
  • manager: 对于非工作区内的已加载依赖,当更新版本后将自动重启进程 (d794f7a)

Bug Fixes

  • chat: 修复了新用户首次发言会触发报错的问题的 (#621) (a8456f9)
  • discord: 修复了最新版 @ 的语法适配 (#660) (0e972d2)
  • manager: 修复了插件报错会导致整个设置面板无法显示的问题 (de9b6cf)
  • manager: 修复了 OneBot 插件会导致机器人面板无法显示的问题 (#649) (3509827)
  • sandbox: 修复了写入数据时机器人自身 selfId 错误的问题 (#661) (cdfba22)

Other Changes

  • refa: remove cache related plugins (1435651)
  • docs: thirdeye 10.0.9 (#659) (0c420fe)
  • docs: migrate vuepress to latest version (79ecd0a)
  • docs: enhance ci build (8cb4069)
  • chore: bump dependencies (b007c04)
  • docs: enhance homepage (eb80f1c)
  • chore: bump versions (a5413ec)

Koishi 4.6.2

02 May 16:34
Compare
Choose a tag to compare

Notable Changes

Features

  • client: 优化了 markdown 组件内链接的样式 (40f1723)
  • core: 现在支持在指令参数类型中抛出 i18n 路径了 (9d54783)
  • echo: [MAJOR] 新增了 unescape 选项并调整了 escape 选项的行为 (#642) (4fdbafd)
  • mongo: 新增了 virtualKey 配置项,允许使用 _id 存储主键以降低空间占用 (cordiverse/minato@adaccae, cordiverse/minato@cdd8a4a)
  • mysql: 现在启动时将自动增量创建 unique index 了 (cordiverse/minato@bc101b2)
  • onebot: 新增了 bot.qqguildPlatform 配置项,用于自定义 QQ 频道的平台名 (fa57cdf)

Bug Fixes

  • core: 修复了不配置 proxyAgent 会导致 WebSocket 连接失败的问题 (#639) (8954f85)
  • core: 修复了使用快捷方式时部分类型的参数不能正常解析的问题 (#614) (#648) (12ae094)
  • core: 修复了使用 value 自定义值的选项不会显示在帮助中的问题 (#656) (230c658)
  • core: 修复了被重定向的多级指令没有正确解析的问题 (#540) (#652) (e5cb56b)
  • orm: 修复了可能在建表完成前查询而导致报错的问题 (cordiverse/minato#1) (cordiverse/minato@67ac118)
  • scripts: 修复了使用 -c 选项初始化控制台插件时模板错误的问题 (99f886b)

Other Changes

  • chore: use symlink (328b471)
  • chore: bump versions (f0f01ce)
  • chore: fix broken links in package.json (69b094e)
  • test: fix test imports (f9e2748)
  • chore: bump versions (7eaf808)