Releases: koishijs/koishi
Releases · koishijs/koishi
Koishi 4.16.1
Notable Changes
- analytics: 发布了新版数据分析插件,包含了更多可供展示的信息和图表:
- 支持了用户增量、群组增量、DAU、QPS 等新的数据指标
- 移除了按频道统计的消息数量,改为显示按平台、机器人进行统计
- 所有与消息相关的图表均支持在「发送」或「接收」间切换
- 相关提交 (koishijs/webui@e277280) (koishijs/webui@70a6242) (koishijs/webui@1233cd7) (koishijs/webui@1fd4481) (koishijs/webui@cf59e2a) (koishijs/webui@4d02ff5) (koishijs/webui@3d1ee19) (koishijs/webui@b48f2d2) (koishijs/webui@78ad69c) (koishijs/webui@dcfc022)
Features
- cli: 优化了部分平台下的进程退出判断行为 (51b9251)
- core: 支持了内置频道表的
createdAt
属性 (81a32d9) - core: 支持了指令配置的
strictOptions
属性,开启该属性后会将任何未注册的选项都视为参数 (#1288) (d899330) - market: 支持了批量操作模式,用户可以在此模式下多次安装、更新、卸载插件后一键执行 (koishijs/webui#254) (koishijs/webui@dd1833f)
- minato: 支持了
$.number()
和更多操作Date
类型的能力 (cordiverse/minato#62) (cordiverse/minato@dab74b1) - minato: 支持了
$.random()
和更多数学运算 (cordiverse/minato#20) (cordiverse/minato#24) (cordiverse/minato#64) (cordiverse/minato@2e5d9af) - postgres: 支持了
unique
和foreign
等索引 (cordiverse/minato#61) (cordiverse/minato@f4df0a3) - schema: 支持了通过
.role('select')
显示为复选菜单 (shigma/schemastery@f3d54fb) - schema: 支持了在表格中通过复选菜单支持
bitset
等类型 (#1300) (shigma/schemastery@20a6f57) - schema: 支持了用于本地化的
$desc
和$inner
属性 (shigma/schemastery@85e9977)
Bug Fixes
- cli: 修复了在命令行中输入
koishi --help
会显示两遍帮助信息的问题 #1291 (d88c8db) - components: 修复了部分情况下
computed
类型点击添加分支无响应的问题 (koishijs/webui#256) (koishijs/webui@648bc55) - config: 修复了插件未安装时配置界面不显示警告信息的问题 (koishijs/webui#251) (koishijs/webui@625f837)
- config: 修复了在顶层添加、删除、配置插件会导致报错的问题 (koishijs/webui#261) (koishijs/webui@e6c1813)
- config: 修复了将插件移动至顶层会导致目标位置向下偏移一格的问题 (koishijs/webui#248) (koishijs/webui@dd5d5f8)
- insight: 对于配置文件中的插件,统一显示其插件 ID (koishijs/webui@d1d2a9b)
- market: 修复了未配置
registry.endpoint
时依赖管理界面部分功能无响应的问题 (koishijs/webui@c615947) - market: 修复了插件安装界面中点集配置链接时、以及插件安装完成后总是跳转到全局设置的问题 (koishijs/webui@7d4863e)
- qq: 修复了 MarkDown 模板相关功能的 API 类型错误 (satorijs/satori@8d39dff)
- sqlite: 修复了对于
undefined
的处理问题 (#1305) (cordiverse/minato#63) (cordiverse/minato@33c35e1) - wechat: 修复了
Session
对象部分属性缺失的问题 (satorijs/satori#193) (satorijs/satori@f302796)
Other Changes
- chore: bump versions (7f1f0e9)
- chore: bump yakumo to v1 alpha (79eadab)
- test: migrate to node:test (cordiverse/cordis@837f8e9)
- chore: migrate to yakumo v1 & node:test (shigma/schemastery@76cda56)
- chore: upgrade yarn to 4.0.2 (shigma/schemastery@e31cd3a)
- chore: migrate to yakumo v1 and yarn v4 (koishijs/webui@0032539)
- refa: rename router to server (satorijs/satori@0fdfe0f)
- chore: migrate to yakumo v1 & node:test (satorijs/satori@fb02dda)
- chore: bump versions (cordiverse/minato@0ad5733)
- chore: migrate to yarn 4 & yakumo (cordiverse/minato@b1c21d8)
- chore: bump versions (koishijs/webui@81b6d66)
- chore: bump versions (f5134fd)
Koishi 4.16.0
Notable Changes
- loader: 为每个插件自动生成永久 ID (koishijs/webui@3cc44a9, 9b910f1, koishijs/webui@d1d2a9b)
- server: @satorijs/router 现已迁移至 @cordisjs/server,且不再内置于 Koishi 中,需要通过 @koishijs/plugin-server 引入 (cordiverse/server@db39435, cordiverse/server@28511e6, cordiverse/server@c06e429, 9bfabd9, satorijs/satori@42366d1, cordiverse/server@5eb76b1, koishijs/webui@4b19bf2)
- i18n: 除
zh-CN
和en-US
外的语言包不再内置于 Koishi 中,现已迁移至 koishijs/locales 仓库进行自动同步 (koishijs/locales@34e5a9e, koishijs/locales@e773c49, koishijs/locales@b2396f4, koishijs/locales@9827a2a, koishijs/locales@eecda17, koishijs/locales@1115704, 2e034d8, koishijs/locales@f72f213)
Features
- cordis: 支持了
internal/error
事件,用于处理插件生命周期中出现的错误 (cordiverse/cordis@df90144) - cordis: 实验性地支持了
ctx.alias()
和ctx.accessor()
(cordiverse/cordis@79d3ce5, cordiverse/cordis@2951896) - cordis: 支持了
Context.associate()
属性的 setter (cordiverse/cordis@3b1cfc1) - cordis: 支持了
internal/listener
事件,用于处理事件监听 (cordiverse/cordis@902be5a) - core:
prefix
配置项支持了贪婪匹配每一个前缀 (f66e954) - config: 新增了用于标识插件状态的小灯 (cordiverse/cordis@0dff168, koishijs/webui@7f0297d)
- minato: 支持了数据库事务
db.withTransaction()
(cordiverse/minato#52) (cordiverse/minato@709fb07) - minato: 为
db.remove()
返回值支持了matched
(cordiverse/minato@1bf77c3)
Bug Fixes
- core:
session.suggest()
现在支持了 @机器人 开头的响应了 (#1295) (78d105d) - element: 修复了部分空白字符被错误地删除的问题 (#1297) (satorijs/satori@f951d4b)
- market: 修复了确认安装对话框在确认后不会消失的问题 (koishijs/webui#259) (koishijs/webui@dab8e27)
- mongo: 修复了修改带有
$
前缀的属性时未转义的问题 (cordiverse/minato#57) (cordiverse/minato@a2bd92f) - postgres: 修复了
$.if
,$.ifNull
等操作符存在的问题 (cordiverse/minato#54) (cordiverse/minato@b7ae5b7) - sqlite: 修复了创建单行超过 1M 数据时会破坏数据库的问题 (cordiverse/minato#58) (cordiverse/minato@618884b)
Other Changes
- chore: bump version (56cd4a9)
- chore: bump versions (cordiverse/minato@3ec3436)
- chore: initial commit (cordiverse/http@e6861ab)
- chore: setup project (cordiverse/http@84827dd)
- chore: setup eslint (cordiverse/http@e023399)
- chore: basic implementation (cordiverse/http@f98e2ff)
- chore: set builtin service (cordiverse/http@5f4681d)
- chore: add missing peerDep (cordiverse/http@f5d81ac)
- chore: bump versions (cordiverse/cordis@39fc34b)
- chore: bump versions (satorijs/satori@bfc3dc8)
- chore: bump versions (koishijs/webui@33e650c)
- chore: bump versions (7f1f0e9)
Koishi 4.15.7
最近一直发烧,更新比较慢,请大家见谅。
Notable Changes
- element: 为 i18n 实验性地支持了部分模板能力 (satorijs/satori@625f2fe, satorijs/satori@cb7cbec, satorijs/satori@53a7e20)
Features
- components: 默认情况下,当虚拟列表进入非活跃状态时自动滚动到底部 (koishijs/webui#63) (koishijs/webui@2887039)
- dingtalk: 支持发送本地和私有链接的媒体资源 (satorijs/satori@e7bf3dd)
- help: 在输出的指令名称中使用空格取代点作为派生式指令的分隔符 (#1281) (8d8c4f9)
- kook: 支持了在
<button>
中使用 kmarkdown (satorijs/satori@9b4463b) - logger: 支持了日志内容的虚拟滚动,优化了性能 (koishijs/webui#2) (koishijs/webui@242c122)
- market: 当切换切面时自动滚动回页面顶部 (koishijs/webui#170) (koishijs/webui@4563aa1)
- market: 批量更新依赖时,新增了确认对话框 (koishijs/webui#223) (koishijs/webui@6abaf51)
- postgres: 修复了由于数据长度导致的报错 (#1279) (cordiverse/minato#53) (cordiverse/minato@cb94b78)
- qq: 当收到多媒体内容时,自动在前面插入一个空格 (satorijs/satori@88d18ee)
- qq: 优化了内部 API 的类型标注 (satorijs/satori@b0dbf06, satorijs/satori@237bc4c)
- qq: 支持了
guild-member-*
系列事件 (satorijs/satori@5ce6923) - qq: 支持通过
MESSAGE_AUDIT
事件获得发送的消息 ID (satorijs/satori@8821f60)
Bug Fixes
- client: 修复了全局插槽出现了两次导致部分对话框抖动的问题 (koishijs/webui#174) (koishijs/webui@ecb00ef)
- core: 指令必选参数未填且询问超时时应当中止指令调用 #1284 (7a5bb65)
- core: 对消息组件的渲染应当在
before-send
之前进行 (satorijs/satori@decc3e4) - dingtalk: 修复了私聊消息无法发送的问题 (satorijs/satori@9455154)
- logger: 修复了删除旧日志文件报错的问题 (koishijs/webui#253) (koishijs/webui@aadf82c)
- qq: 修复了图片发送时存在的问题 (satorijs/satori@1d830da)
- qq: 修复了
msg_seq
实现错误导致发送消息报错的问题 (satorijs/satori@db2285f) - qq: 修复了对
<>
不必要的转义 (satorijs/satori@45b1ffa) - qq: 修复了错误的文档导致按钮失效的问题 (satorijs/satori@f393a86)
- qq: 支持了
<p>
和<br>
消息元素 (satorijs/satori@9093165) - qq:
QQBot
和QQGuildBot
实例应当具有同步的连接状态 (satorijs/satori#190) (satorijs/satori@f1661e8) - qq: 修复了 QQ 群机器人无法使用沙箱功能的问题 (satorijs/satori#191) (satorijs/satori@03bded7)
- satori: 修复了经过协议转发后的
bot.status
与实际不符的问题 (satorijs/satori#187) (satorijs/satori@71cc428) - satori: 现在协议将同步
bot.hidden
属性了 (satorijs/satori#189) (satorijs/satori@d740216) - status: 修复了单一插件提供多个机器人时只会显示一个的问题 (koishijs/webui@816d95c)
Other Changes
- chore: bump versions (463b676)
- chore: unimplemented api should not be warned, fix satorijs/satori#186 (koishijs/webui@e2d8487)
- chore: setup sync release workflow (d2d815c)
- chore: bump versions (satorijs/satori@a3f0999)
- chore: bump versions (koishijs/webui@0514412)
- chore: bump version (56cd4a9)
Koishi 4.15.6
Notable Changes
- minato: 对数据库进行
set
,upsert
,remove
操作时将返回修改条目相关信息了 (cordiverse/minato#49) (cordiverse/minato#50) (cordiverse/minato@d47e4ad) (cordiverse/minato@345bdf8) - postgres: 新增了官方插件 @koishijs/plugin-database-postgres (cordiverse/minato#51) (cordiverse/minato@3bfab21)(25f57fb)
- temp: 新增了官方插件 @koishijs/plugin-server-temp,可用于临时提供文件访问 (satorijs/satori@ddda5f1) (50cca17)
Features
- console: 支持了
config.dev
相关配置项,同时默认开启fs.strict
(koishijs/webui@bab163f) - cordis: 支持了
Context.associate()
,将用于提供跨服务的 API (cordiverse/cordis@68e4630) (satorijs/satori@bb60a27) (ce430cb) - cordis: 支持了服务赋值时自动注册
dispose
行为 (cordiverse/cordis@9e6b21d) - mongo: 支持了
config.writeConcern
(8a2d13d) (cordiverse/minato@2e61477) - mysql: 支持了
config.ssl
相关配置项 (412211c) (f93dde4) - qq: 支持了对私有地址图片的发送 (satorijs/satori@aac353d)
- qq: 支持了
msg_seq
,修复了多条回复消息无法发送的问题 (satorijs/satori#180) (satorijs/satori@47e7efc) (satorijs/satori@b28ab7c) - schema: 当「撤销更改」和「恢复默认值」不会影响当前值时,对应的按钮显示为灰色 (shigma/schemastery@8434a0d)
- schema: 对
array
和dict
类型的配置项支持了.collapse()
(shigma/schemastery@49975f2) - temp: 支持了
config.selfUrl
,用于覆盖全局配置项 (satorijs/satori@d8a790d)
Bug Fixes
- config: 通过
$if
禁用的插件将不再显示在配置页面中,以避免操作不当引发的错误 (koishijs/webui#249) (koishijs/webui@56be891) - core: 修复了当接收到 @ 消息时,指令可能异常出发的问题 (14073ff)
- core: 修复了
autoAuthorize
设置为0
时处理消息有概率报错的问题 (#1267) (e6a5456) - core: 修复了
Schema.computed()
默认值行为错误的问题 (#979) (#1272) (10a7704) - dingtalk: 支持了新版 API,修复了收到消息报错的问题 (satorijs/satori#178) (satorijs/satori#181) (satorijs/satori@2861f00)
- loader: 修复了对非字符串类型的配置项进行插值时会导致插件启动失败的问题 (#1217) (d7598bf)
- server: 确保路由相关配置不以
/
结尾 (satorijs/satori@6b25d5d)
Other Changes
- chore: bump versions (407f9cf)
- chore: bump mongo driver to v6 (cordiverse/minato#48) (cordiverse/minato@f27c79a)
- refa: remove upstream plugins to upstream repo (0260fee)
- chore: setup plugin actions (koishijs/webui@149caf0)
- chore: setup plugin oobe (koishijs/webui@570beb7)
- chore: bump versions (koishijs/webui@0833aff)
- chore: remove deprecated
registry.dispose()
(cordiverse/cordis@9289a14) - chore: bump versions (cordiverse/cordis@f50d9db)
- chore: setup yarn 4 (cordiverse/cordis@812bf2a)
- chore: bump versions (satorijs/satori@4cc7a3a)
- chore: bump versions (cordiverse/minato@7a30717)
- chore: bump versions (463b676)
Koishi 4.15.5
Notable Changes
- minato: 实验性地支持了
$.array()
和$.object()
等用于操作结构化数据的 API (#1259) (cordiverse/minato#43) (cordiverse/minato@9208ce5) - proxy: 新增了官方插件 @koishijs/plugin-server-proxy,可用于在本地路由提供代理服务 (satorijs/satori@130c3a4, 08cf837, satorijs/satori@cbb538e)
- satori: 官方插件 @koishijs/plugin-server 更名为 @koishijs/plugin-server-satori (satorijs/satori@c8ae36a, 9027e37)
Features
- client: 当文本显示不完全时被 hover 会显示完整内容 (koishijs/webui#243) (koishijs/webui@a31d2bb)
- client: 新增了
withProxy()
,可用于解决前端跨域问题 (koishijs/webui#225) (koishijs/webui@4382e8e) - config: 使用插件导出的
inject
取代package.json
中的声明 (koishijs/webui#241) (koishijs/webui@7eeffe2) - cordis: 当插件不合法时,错误提示将包含插件的类型 (cordiverse/cordis@f25dd5a)
- explorer: 支持了符号链接的解析与显示 (koishijs/webui#244) (koishijs/webui@06a34a5)
- explorer: 为菜单项提供了图标和快捷方式 (koishijs/webui#235) (koishijs/webui@1064e8a)
- kook: 支持了更多原生 KOOK 消息组件 (satorijs/satori@e0f0ab6)
- loader: 初步实现了
ctx.loader
服务 (612c873) - market: 支持手动从 npm 安装非插件类型的包 (koishijs/webui#208) (koishijs/webui@5500a0a)
- minato: 优化了
$
相关的类型提示 (cordiverse/minato@6fdff7b) - mysql: 支持了
ssl.rejectUnauthorized
配置项 (a98b000) - satori: 支持了
bot.logger
属性 (需Bot
构造函数传入platform
参数) (satorijs/satori@5d3614a) - sqlite: 优化了使用本地数据库时的访问性能,解决了数据库体积过大时无法使用的问题 (cordiverse/minato#47) (cordiverse/minato@562abdb)
Bug Fixes
- bind: 修复了群聊内部分消息可能会触发异常的问题 (#1263) (03a25ac)
- cordis: 修复了
service.caller
行为与预期不符的问题,目前推荐使用Context.current
(cordiverse/cordis@261ee6b) - cordis: 修复了
dispose
回调函数抛出错误可能导致副作用回收不完全的问题 (#1254) (cordiverse/cordis@68081c4) - core: 修复了没有引用回复内容时仍然会添加一个空指令参数的问题 (a43ea1f)
- explorer: 修复了文件树的显示和操作不遵循
root
配置项的问题 (koishijs/webui@2a65b31) - kook: 修复了部分文本被错误地转义的问题 (#1050) (#1227) (satorijs/satori@e249d20)
- qq: 修复了群聊环境下接收到引用回复消息会报错的问题 (satorijs/satori@96674c7)
- schema: 修复了当配置项启用国际化时可能导致不显示标题的问题 (shigma/schemastery@b007d8e)
- schema: 修复了
array
/tuple
类型调用schema.simplify()
可能返回错误的结果的问题 (shigma/schemastery@ab00aa9) - schema: 修复了部分情况下配置表达无法操作的问题 (koishijs/koishi#1261) (shigma/schemastery@e93d34f)
Other Changes
- chore: bump versions (e20587e)
- chore: add "add" icon (shigma/schemastery@6c01a40)
- chore: add ellipsis and add icon (koishijs/webui@0785986)
- chore: bump versions (koishijs/webui@477b7be)
- chore: bump versions (satorijs/satori@9b1df94)
- chore: bump versions (cordiverse/minato@d92eb75)
- chore: bump versions (koishijs/webui@9afb8d0)
- chore: bump versions (407f9cf)
Koishi 4.15.4
Features
- client: 支持了快捷键绑定,现在在插件配置界面键入 ⌘S 将会保存配置 (koishijs/webui#142) (koishijs/webui@db633b3)
- cordis: 在已经停用的上下文中将不允许注册插件 (cordiverse/cordis#5) (cordiverse/cordis@fc388fd)
- cordis:
Service
基类支持了Context.filter
特性 (cordiverse/cordis@080c331) - cordis: 支持了
event/
特殊事件,可用于重载监听特定事件的行为 (cordiverse/cordis@ef017ba) - cordis: 支持了
ctx.inject()
,废弃了ctx.using()
(cordiverse/cordis@b5cd65a) - kook: 支持了
<button>
和<button-group>
元素 (satorijs/satori@bc57c50) - logger: 为插件页面中的日志设置了高度限制,避免挤占配置空间 (#1253) (koishijs/webui@31e789a)
- router: 调整了最大接收的请求体积为 10MB (satorijs/satori@ed1c3d8)
- router: 支持了
router/ready
事件,将在端口绑定后触发 (satorijs/satori@e077bd5) - whatsapp: 支持了
session.whatsapp
和内部事件 (satorijs/satori@75b06e7)
Bug Fixes
- client: 修复了状态栏 tooltip 如果过高可能会超出屏幕的问题 (koishijs/webui#237) (koishijs/webui@fc3db55)
- console: 修复了应用启动时端口号可能显示为
undefined
的问题 (koishijs/webui@14793f1) - core: 修复了全局设置缺失
proxyAgent
的问题 (satorijs/satori@c914665) - core: 修复了内部事件不会正常触发的问题 (satorijs/satori#175) (satorijs/satori@87df9fb)
- discord: 修复了连续的
<p>
将会渲染出多余换行的问题 (#1247) (satorijs/satori@7d2e604) - kook: 修复了
<audio>
,<video>
,<file>
元素无法发送的问题 (#1219) (satorijs/satori@4753780) - kook: 修复了
message-updated
等事件资源缺失的问题 (satorijs/satori@7224003) - mail: 修复了
IMAP
初始化报错的问题 (satorijs/satori#1244) (satorijs/satori@7a2011a) - market: 修复了部分情况下,依赖管理界面没有改动的版本号时,应用更新按钮仍然可以点击的问题 (koishijs/webui@76ea036)
- mock: 修复了连续的
<p>
将会渲染出多余换行的问题 (1ead254) - status: 修复了状态栏中,机器人名称过长时,头像会变成椭圆的问题 (koishijs/webui#239) (koishijs/webui@da9cd06)
Other Changes
- chore: bump versions (efce07f)
- chore: bump versions (koishijs/webui@b977d00)
- chore: bump versions (cordiverse/cordis@9eb901e)
- chore: bump versions (satorijs/satori@d1207d5)
- chore: fix typings (0340f90)
- chore: bump versions (e20587e)
Koishi 4.15.3
Notable Changes
- 将 Cordis 更新到了 v3,新增了严格服务访问机制:插件内部访问上下文上的非内置服务时,必须使用
inject
进行声明,否则会打印一个警告 (cordiverse/cordis@fbe9b62, cordiverse/cordis@2fd92c7, cordiverse/cordis@b21ada0, cordiverse/cordis@990065b, 28d70ab) ctx.router
现在将作为默认提供的非内置服务,需要手动声明;未来版本中此服务将被拆分到独立的插件中 (satorijs/satori@5db7c77, satorijs/satori@9564c4c, satorijs/satori@78fa90d, koishijs/webui@5c4f32b)- 插件内部使用
ctx.logger()
发送日志时,将基于插件的上下文进行追踪:在控制台的插件详情页面中将展示每一个插件产生的日志 (satorijs/satori@97101b6, shigma/reggol@b62c896, shigma/reggol@b45abe1, koishijs/webui@9cc1078, satorijs/satori@cad35d9, 9bc7d84, 4184d24)
Features
- commands: 将选项
--name
修改为--rename
以避免与参数名称冲突 (#1241) (koishijs/webui@6d6f95a) - config: 实验性地支持了向前端传送
fork.uid
(koishijs/webui@4ea21f8) - console: 启动 WebUI 时将打印可访问的链接 (koishijs/webui@debb053)
- cordis: 访问服务时将通过
Proxy
实现Context.current
属性,这将使得服务在实现可回收的 API 时不再受到时序问题的限制 (cordiverse/cordis@9da1acc, cordiverse/cordis@7b1c8f8) - cordis: 优化了
ctx.plugin()
的类型签名 (cordiverse/cordis@ce3d25a, cordiverse/cordis@015fbd8) - cordis: 当插件的配置有误时,使用
ctx.plugin()
将不再抛出错误,而是仍然创建上下文并记录错误状态 (cordiverse/cordis@23289a1) - logger: 支持对于不同的日志输出目标设置不同的日志等级了 (shigma/reggol@5c9c583)
- logger: 更换了新的日志主题颜色 (shigma/reggol@074d116)
- server: 支持了 WebHook 通信方式 (satorijs/satori@94a26e9)
- whatsapp: 支持了
<button>
元素 (satorijs/satori@91d5bad)
Bug Fixes
- core: 当
Bot
实例未创建好时不触发login-added
事件 (satorijs/satori@062cde0) - core: 修复了部分事件中
Bot
参数缺乏泛型导致的类型不匹配问题 (satorijs/satori@e1ca284) - core: 修复了
before-send
事件中Session
部分属性缺失的问题 (#1235) (satorijs/satori@5237872) - loader: 修复了一个插件组中的某个插件加载失败会导致其他插件被回滚的问题 (e97e0b0)
- minato: 修复了
join
,groupBy
,project
在若干边界情况下的问题 (cordiverse/minato#42) (cordiverse/minato@bee4282) - mock: 修复了
message.id
缺失的问题 (07a83ab) - sql: 修复了
db.upsert()
对于只有主键的表失效的问题 (cordiverse/minato@7b16118)
Other Changes
- chore: bump versions (826ea83)
- chore: bump versions (satorijs/satori@d707119)
- chore: bump versions (koishijs/webui@d528afc)
- chore: bump versions (satorijs/satori@1803f64)
- chore: bump versions (cordiverse/minato@05ea030)
- chore: bump versions (efce07f)
Koishi 4.15.2
Notable Changes
这个版本中包含大量底层重构,可能不稳定。如果你在使用过程中遇到了问题,可以提交 issue 进行反馈。
- 重构了 Cordis,使用
Proxy
代替Object.defineProperty
实现服务注入 (cordiverse/cordis@5852859) - 废弃了
Context.service()
静态方法,使用ctx.root.provide()
代替 (cordiverse/cordis@92d8d76) - 新增了 Zulip 适配器 (satorijs/satori@fd2b733, satorijs/satori@b93f076)
Features
- commands: 新增了
command
指令,可用于对指令进行管理 (koishijs/webui@3b3e9a2, koishijs/webui@457a58b) - console: 迁移到了最新的 Cordis, Satori, Koishi API (koishijs/webui@fe5f2f8)
- cordis: 支持插件的
inject
属性 (功能同using
) (#1228) (cordiverse/cordis@13b6cdd) - cordis: 支持了
internal/event
事件 (cordiverse/cordis@ea4d860) - core: 重构了 Koishi 使之成为独立的 Cordis 应用 (而非对 Satori 的修改) (86a296e)
- satori: 新增了
user.nick
,同时将member.name
更名为member.nick
(satorijs/satori@f446dad) - satori:
Adapter
,Bot
等类型新增了Context
泛型 (satorijs/satori@9cdb980, b0ac248, satorijs/satori@0395ebc) - schema: 支持了菜单项的不同类型,将会影响显示颜色 (shigma/schemastery@1bdf73f)
- schema:
bitset
类型将保存为string[]
,以便更好地在配置文件中直接编辑 (shigma/schemastery@267c917) - schema: 支持了字符串列表的
checkbox
外观 (shigma/schemastery@8e95332) - schema: 支持了
checkbox
外观下的disabled
等属性 (shigma/schemastery@8884cdc) - server: 将默认路径调整为
/satori
(satorijs/satori@2f5931a) - server: 实验性地支持了
token
配置项 (satorijs/satori@b386cca)
Bug Fixes
- commands: 修复了别名指令和子指令的若干边界问题 (koishijs/webui@24dd326)
- cordis: 修复了极少数情况下继承
Service
的子类启动失败的问题 (cordiverse/cordis@51555de) - qq: 修复了被动消息超时后发送失败的问题 (satorijs/satori@fef2844)
- server: 修复了
message.create
返回值与标准不符的问题 (satorijs/satori#173) (satorijs/satori@0db5532) - telegram: 修复了
quote.user
缺失的问题 (satorijs/satori#171) (satorijs/satori@742a92c)
Other Changes
- chore: bump versions (095ee66)
- chore: update keywords and readme (satorijs/satori@542af58)
- chore: migrate dataview to community (koishijs/webui@011ad5e)
- chore: bump versions (shigma/schemastery@6f58ca8)
- chore: drop official onebot support (satorijs/satori@9c514e9)
- chore: drop official support for onebot (dbcce22)
- chore: bump versions (satorijs/satori@52c5d14)
- chore: bump versions (koishijs/webui@71d06d9)
- chore: bump versions (826ea83)
Koishi 4.15.1
Notable Changes
- console: 新增了 @koishijs/console 包,方便开发更轻量的可选依赖控制台的插件;目前有用户反馈称此改动可能引起多例问题,我们将持续关注并尝试解决 (koishijs/webui@e514708)
- core: 当某个指令参数是必需时,如果用户未传入此参数,则会自动进行询问,并将询问结果作为该参数;目前此功能仅对开启了
checkArgCount
的指令生效,并计划于未来版本中默认生效 (9d831f6) - core:
cmd.alias()
支持带参数的别名,用法与cmd.shortcut()
类似,并将在未来逐步替换 Shortcut API (5188f64, koishijs/webui@91852c1) - satori: 实验性地支持了
<button>
元素,目前已经可以在 Discord, Line, QQ, Telegram 平台中使用 (satorijs/satori@3b5e235, satorijs/satori@2b23ad8, satorijs/satori@2eceeb0, satorijs/satori@744624b, satorijs/satori@b7f4632, satorijs/satori@f5d6750, satorijs/satori@f129772)
Features
- axios:
http.isPrivate()
支持了 IPv6 (satorijs/satori#160) (satorijs/satori@c7fd6a3, satorijs/satori@6846849) - auth: 将默认的登录方式更改为用户密码登录 (koishijs/webui@0df70ec)
- config: 支持了插件和插件组在侧边栏的重命名 (koishijs/webui#213) (koishijs/webui@83cf893)
- config: 启用、重载插件时将对配置项进行检查 (koishijs/webui#12) (koishijs/webui@bab74bd)
- console: 使用统一的菜单 API 显示布局菜单和上下文菜单 (koishijs/webui@e5e7341)
- core:
bot.sendPrivateMessage()
新增了三参数guildId
(satorijs/satori@6ae3b0d) - lark: 支持了更多的 Bot API,包括
getGuild
,getMessage
,getUser
等 (satorijs/satori#162) (satorijs/satori#164) (satorijs/satori#165) (satorijs/satori@823998a, satorijs/satori@7d21997, satorijs/satori@bc27bbf) - locales:
root
配置项支持了数组类型,意味着可以同时接受多个本地化目录 (koishijs/webui@eee59bb) - satori: 支持了
token
配置项,用于 Satori 协议的鉴权 (satorijs/satori@f3a8497)
Bug Fixes
- core: 修复了
ctx.i18n
和ctx.schema
部分副作用没有被正确回收的问题 (koishijs/webui#215) (87d665a) - core:
string
和text
类型指令参数将不在自动转义 (koishijs/webui#195) (d8f9ba8) - core: 修复了设置部分资源属性为
undefined
时会创建空对象的问题 (satorijs/satori#166) (satorijs/satori@7e53297) - discord: 修复了斜线指令被错误覆写的问题 (satorijs/satori@347db20)
- kook: 修复了
session.event.member
等属性缺失的问题 (satorijs/satori@4c30cbf) - market: 修复了
plugin.update
不使用最新版本的问题 (koishijs/webui#226) (koishijs/webui#228) (koishijs/webui@226cba7) - qq: 修复了连接成功后机器人信息的问题 (satorijs/satori@2400025)
- qq: 对图片发送失败的情况进行重试 (satorijs/satori@575a696)
- qq:
GROUP_MESSAGE_CREATE
事件将自动填充<at>
元素作为前缀 (satorijs/satori@49222c6) - sandbox: 修复了使用方向键输入历史记录时内容被多次转义的问题 (koishijs/webui#152) (koishijs/webui@8fae82a)
- server: 修复了实现与协议不符的行为 (satorijs/satori#161) (satorijs/satori@f32e5e2, satorijs/satori@040162a)
- status: 修复了
status
指令输出错误的问题 (koishijs/webui#230) (koishijs/webui@c336898) - telegram: 修复了接收到事件后报错的问题 (#1216) (satorijs/satori@6027e23)
Other Changes
- chore: bump versions (7a313b5)
- chore: bump versions (koishijs/webui@f1c51f5)
- chore: rename completion to input (satorijs/satori@d83c00e)
- chore(wechat-official): wont fix, close satorijs/satori#159 (satorijs/satori@0b99c85)
- online: add basic support for koishi-plugin-browser (koishijs/webui@62e3a1b)
- chore: bump versions (koishijs/webui@4080ae4)
- chore: update logger debug (satorijs/satori@17b5788)
- i18n: update translations (koishijs/webui#210) (koishijs/webui@569b0eb)
- i18n: update translations (#1225) (0a41270)
- chore: bump versions (satorijs/satori@4cab923)
- chore: bump versions (koishijs/webui@64aef38)
- chore: bump versions (095ee66)
Koishi 4.15.0
Notable Changes
-
发布了 Satori v3,调整了部分数据结构和 API
- 使用资源提升对事件数据进行重组 (satorijs/satori@dcc50d3, satorijs/satori@6d6f868, satorijs/satori@f45a7ff)
- 新增了
Login
资源和相关事件 (satorijs/satori@2e42d38, satorijs/satori@9667fef) - 对现有的适配器进行迁移 (satorijs/satori@36cb0e2, satorijs/satori@764c0d7, satorijs/satori@9f31fc2, satorijs/satori@e791141, satorijs/satori@e3905af)
- 对 Koishi 及其插件进行迁移 (9e7c534, koishijs/webui@89d09af, koishijs/webui@99dc132)
- 完整的迁移指南请参考 官方文档。
-
发布了 Satori 协议及其相关生态
- @satorijs/protocol 是一个通用的聊天协议库 (satorijs/satori@1ec1eb4)
- @koishijs/plugin-server 实现了 Satori 协议的服务端 (satorijs/satori@b39dbce, satorijs/satori@120c2d6, d63a3d4)
- @koishijs/plugin-adapter-satori 实现了 Satori 协议的适配器 (satorijs/satori@170a55b, satorijs/satori@b3361cc)
- 未来将有更多直接提供 Satori 协议的应用程序;此外,配合使用 server 和 adapter-satori 插件还可以允许适配器的分布式部署。
- 详细的使用方法请参考 Satori Protocol 文档。
-
发布了 QQ 适配器,能够同时支持 QQ 群和 QQ 频道机器人的使用;旧版 QQGuild 适配器现已废弃 (satorijs/satori@61c3dcf, satorijs/satori@6e82ae7, satorijs/satori@806599d, satorijs/satori@1c99286, satorijs/satori@ec8b207, satorijs/satori@117c0d5, satorijs/satori@7edd9cc, satorijs/satori@891b2f8, satorijs/satori@3e6692c, satorijs/satori@ee73e24, satorijs/satori@7d525aa, 07f3e46, satorijs/satori@d979005, satorijs/satori@379f55b, satorijs/satori@0d68815, satorijs/satori@b8fdb37)
Features
- console: 使用
Universal.WebSocket
作为通用 WebSocket 接口 (koishijs/webui@0fbf9e8) - discord: 修复了
bot.getGuildMemberList()
返回了错误的avatar
的问题 (satorijs/satori#155) (satorijs/satori@36cb0e2) - line: 支持了类型良好的内部事件 (satorijs/satori@a7655da)
- market: 支持了
limit:
查询修饰符,可用于控制分页的长度 (koishijs/webui#224) (koishijs/webui@09dc6d6) - market: 当点击搜索关键词移除的时候,光标自动聚焦到搜索框中 koishijs/webui#222 (koishijs/webui@efba28c)
- minato: 优化了计算表达式的类型约束 (cordiverse/minato@fb35d89)
- mock: 优化了对于
session.prompt()
的测试稳定性 (3f98c38) - schema: 添加了
const
修饰符以优化类型支持 (shigma/schemastery@ea118fd) - telegram: 支持了类型良好的内部事件 (satorijs/satori@6115ad4)
Bug Fixes
- kook: 修复了
bot.sendMessage()
不返回消息 ID 的问题 (satorijs/satori#156) (satorijs/satori@73233d3) - market: 修复了在控制台中更新插件后,
package.json
文件末尾空行消失的问题 (#1210) (koishijs/webui#227) (koishijs/webui@0f47653) - market: 修复了调用
plugin.upgrade
指令时插件可能无法更新到最新版的问题 (koishijs/webui#226) (koishijs/webui#228) (koishijs/webui@226cba7) - mysql: 修复了 JSON 中嵌套属性访问异常的问题 (cordiverse/minato#40) (cordiverse/minato@5915bc1)
- schema: 修复了
union
类型经过配置后恢复默认值,此时默认值无法生效的问题 (shigma/schemastery#158) (shigma/schemastery@a6b6f4f)
Other Changes
- chore: bump versions (efc08e3)
- chore: bump versions (cordiverse/minato@8168b43)
- chore: bump versions (satorijs/satori@6dd971d)
- chore: dingtalk Oapi -> oapi (satorijs/satori@cb959ac)
- chore: dingtalk api redirection (satorijs/satori@0afad33)
- chore: bump versions (satorijs/satori@829a007)
- chore: bump versions (7a313b5)
- chore: bump versions (koishijs/webui@f1c51f5)