Repository navigation
v1.1.0
💖 赞助商 · 華龍算力:deepseek,glm,kimi降至3.8折,DeepSeek谷价仅1.9折!
華龍算力AI中转站活动加码:充88得100,每人限1单哦
✨ 新功能
- ✨ feat(change-preview): 驱动代理转发变更预览,非 SQL 数据源展示实际发出的请求
- ✨ feat(typesense): 接入 Typesense(0.20 – 29,按 schema 翻译 filter_by 的数据网格与 REST 控制台)
- ✨ feat(meilisearch): 接入 Meilisearch(0.20 – 1.x,REST 控制台与按索引设置选路的数据网格)
- ✨ feat(firebird): 接入 Firebird(2.5 – 5.0,纯 Go 驱动,按语句硬提交避免元数据锁)
- ✨ feat(yashandb): 接入崖山数据库(purego 绑定 yacli 客户端,复用 Oracle 元数据)
- ✨ feat(gbase8s): 接入 GBase 8s(Informix 内核,经用户安装的 CSDK 以 ODBC 连接)
- ✨ feat(gbase8c): 接入 GBase 8c(openGauss 内核、sha256 / sm3 认证与 A / B / PG 兼容模式)
- ✨ feat(gbase8a): 接入 GBase 8a(MySQL 协议、真正生效的事务与 HASH 索引表设计)
- ✨ feat(zookeeper): 接入 ZooKeeper(znode 子树浏览、zkCli 风格控制台与 3.4 / 3.5+ 两档驱动版本)
- ✨ feat(etcd): 接入 etcd(键前缀浏览、etcdctl 风格控制台与 v2 / v3 两档驱动版本)
- ✨ feat(presto): 接入 Presto(自写 REST 协议客户端、三档驱动版本并复用 Trino 方言)
- ✨ feat(influxdb): 接入 InfluxDB(InfluxQL / Flux / SQL 控制台、line protocol 写入与三档驱动版本)
- ✨ feat(weaviate): 接入 Weaviate(GraphQL / REST 控制台、多租户与三档驱动版本)
- ✨ feat(opensearch): 接入 OpenSearch(复用 ES 驱动、SQL / PPL 只读控制台与三档驱动版本)
- ✨ feat(timescaledb): 接入 TimescaleDB 并补齐描述表数据源的视图定义、表概览与表统计
- ✨ feat(greptimedb): 接入 GreptimeDB(MySQL 协议、TAG/FIELD/TIME INDEX 元数据与两档驱动版本)
- ✨ feat(questdb): 接入 QuestDB(PostgreSQL 协议、原生元数据与三档驱动版本)
- ✨ feat(sidebar): 描述表数据源可声明侧栏不显示的对象分组
- ✨ feat(datasource): 测试连接提示手动选择的驱动版本与服务端不匹配
- ✨ feat(connection-modal): 连接表单显示驱动版本选择并回填已保存的档位
- ✨ feat(sql-dialect): 描述表数据源按兼容家族生成标识符引号、方言判定与分页语法
- ✨ feat(cockroachdb): 接入 CockroachDB 与 KWDB(PostgreSQL 协议、时序库与按版本档位适配)
- ✨ feat(connection-modal): 连接配置携带驱动版本档位
- ✨ feat(datasource): 驱动管理、测试连接与 DDL 方言接入描述表,并新增驱动版本选择字段
- ✨ feat(datasource): 新增数据源描述表并以 TiDB 打通驱动代理接入链路
- ✨ feat(ai-chat): 内置 AI 可调用只读数据库工具,写操作只给出语句、不执行
- ✨ feat(ai-agent): 每回合把 GoNavi 角色提示词与用户自定义提示词交给模型,所有供应商生效
- ✨ feat(ai-chat): 内置 AI 登录等待期间显示设备码,浏览器返回后立即完成登录
- ✨ feat(deeplink): 浏览器授权页可通过 gonavi:// 链接唤醒正在运行的 GoNavi
- ✨ feat(workbench): 重启后恢复全部标签页、AI 面板与上次的 AI 对话
- ✨ feat(ai-chat): 用动态上下文圆环取代进度条,按真实构建结果显示各部分占用
- ✨ feat(ai-chat): 绑定的选中内容以胶囊显示并随消息保存,支持引用回答片段
- ✨ feat(ai-chat): 内置模型读图改为桌面端本地识别文字,并支持在设置中管理
- ✨ feat(ai-chat): 接入 GoNavi AI 供应商登录,首次登录前展示使用准则
- ✨ feat(ocr): 新增桌面端图片文字识别组件的安装与管理
- ✨ feat(ai-service): 新增上下文试算接口,按真实构建器计算将发送的内容
- ✨ feat(runharness): 附件文本并入模型上下文并为小窗口收敛工作区快照
- ✨ feat(ai-service): 接入 GoNavi 内置免费 AI 客户端
- ✨ feat(sidebar): 设置中心与同步、导入导出工作台显示时自动折叠左侧树
🐛 问题修复
- 🐛 fix(driver-release): 驱动代理的构建与发布纳入数据源描述表声明的驱动
- 🐛 fix(brand-icon): 吉祥物原生图标改用修边后的 v2 透明图合成 (contributed by @kunghim)
- 🐛 fix(brand-icon): 品牌图标选择器首开不再出现深色占位剪影 (contributed by @kunghim)
- 🐛 fix(datasource-ui): 新数据源不再显示用不了的导出、恢复、导入与同步入口
- 🐛 fix(data-sync): 修复新数据源跨库迁移的建表与写入问题
- 🐛 fix(datasource-transfer): 新数据源的导出、SQL 备份恢复与表数据导入按描述表声明开放
- 🐛 fix(datasource-driver): 新数据源全表读取不再截断,补齐导入写入与类型解码
- 🐛 fix(typesense): 老版本网格翻页改走稳定路径,0.23 客户端扫描提速
- 🐛 fix(data-viewer): 搜索引擎类数据源浏览时不再默认按主键排序
- 🐛 fix(brand-icon): 吉祥物关于页大图改用修边后的 v2 资源
- 🐛 fix(brand-icon): macOS 默认品牌图标恢复满幅合成 (contributed by @kunghim)
- 🐛 fix(brand-icon): 捆绑吉祥物的 Windows 图标不再裁掉底板与字标 (contributed by @kunghim)
- 🐛 fix(table-overview): 非 SQL 查询语言的描述表数据源改用表名列表加载表概览
- 🐛 fix(elasticsearch): 批量写入按服务端版本决定 _type 并在提交后刷新分片
- 🐛 fix(query): 描述表中走 PostgreSQL 协议的数据源只读查询改走普通查询接口
- 🐛 fix(datasource): 修复 TiDB / CockroachDB / KWDB 在侧栏、连接串与查询编辑器中的兼容问题
- 🐛 fix(data-grid): 单元格粘贴被忽略时给出明确提示并告知超出范围的行列
- 🐛 fix(driver-release): 驱动总包改为 LZMA2 固实 7z,修复超出 GitHub 2 GiB 资产上限导致的发布失败
- 🐛 fix(brand-icon): 修复 CI 两处失败——图标哈希常量对齐上游、PS1 注释改回 ASCII (contributed by @kunghim)
- 🐛 fix(brand-icon): 切换后重启开始菜单宿主进程,所有应用列表恢复实时同步 (contributed by @kunghim)
- 🐛 fix(brand-icon): 复审低危收尾——临时目录判定补尾分隔符、迁移跳过可观测、清理死选择器 (contributed by @kunghim)
- 🐛 fix(brand-icon): 失败回退仅在无更新选择接管时执行,品牌同步逻辑抽独立 hook (contributed by @kunghim)
- 🐛 fix(brand-icon): 启动期机器层快捷方式迁移、SFX 死链防护与替换残渣清理 (contributed by @kunghim)
- 🐛 fix(brand-icon): 延迟广播认领变体命名固定项,watcher 定时器与首读健壮性修复 (contributed by @kunghim)
- 🐛 fix(brand-icon): 机器层快捷方式迁移为用户层,开始菜单图标彻底恢复实时刷新 (contributed by @kunghim)
- 🐛 fix(brand-icon): 快捷方式改为文件替换式更新,开始菜单图标恢复实时刷新 (contributed by @kunghim)
- 🐛 fix(brand-icon): 延迟二次通知覆盖被吞事件 + watcher 分场景处理,修固定后首切失效与取消固定空白 (contributed by @kunghim)
- 🐛 fix(ai-chat): 内置 AI 的查询结果预览按结果网格的方式显示日期时间
- 🐛 fix(ai-chat): 内置 AI 未选连接时按话里点名的连接找到有数据的库,并把查询结果展示给用户
- 🐛 fix(ai-chat): 内置 AI 每轮先拿到当前库的真实表名,不再凭空编造表名
- 🐛 fix(ai-chat): 内置 AI 调用工具时省略库名,自动补上当前连接与当前库
- 🐛 fix(build): deeplink 接线文件补上 !bindings 构建标签,修复 wails build 与生成绑定失败
- 🐛 fix(sql-editor): 退出时选择"确认退出"真正丢弃未保存的 SQL,不再每次关闭都重复提示
- 🐛 fix(brand-icon): MSI 安装时授权 Users 修改品牌快捷方式,公共表面恢复实时切换 (contributed by @kunghim)
- 🐛 fix(brand-icon): MSI 模式下用户层兜底创建 AUMID 快捷方式,解除任务栏按钮锚死 (contributed by @kunghim)
- 🐛 fix(brand-icon): 修复注释错乱与过期架构断言,固化实测 PID 语义 (contributed by @kunghim)
- 🐛 fix(brand-icon): 四路审查修复——超时/兑底顺序/死 pin/ASCII/竞态 (contributed by @kunghim)
- 🐛 fix(brand-icon): 单项快捷方式更新失败不再中止整批 (contributed by @kunghim)
- 🐛 fix(brand-icon): 任务栏固定项认领收紧为 GoNavi 命名前缀 (contributed by @kunghim)
- 🐛 fix(brand-icon): 消除同图标重复应用——同步 effect 记录已应用品牌 (contributed by @kunghim)
- 🐛 fix(brand-icon): 单遍应用设计——快捷方式改写后消化再执行窗口链路 (contributed by @kunghim)
- 🐛 fix(brand-icon): 延迟重应用 + 固定项目录监视,修复首次切换失效与取消固定空白 (contributed by @kunghim)
- 🐛 fix(brand-icon): RelaunchIconResource 改用纯 .ico 路径,根治任务栏空白图标 (contributed by @kunghim)
- 🐛 fix(brand-icon): AUMID 无快捷方式可解析时自动补建开始菜单快捷方式 (contributed by @kunghim)
- 🐛 fix(brand-icon): 任务栏按钮重注册改为无条件执行 (contributed by @kunghim)
- Reapply "🐛 fix(brand-icon): 恢复窗口 RelaunchIconResource——未固定按钮跟随的必要条件" (contributed by @kunghim)
- Revert "🐛 fix(brand-icon): 恢复窗口 RelaunchIconResource——未固定按钮跟随的必要条件" (contributed by @kunghim)
- 🐛 fix(brand-icon): 恢复窗口 RelaunchIconResource——未固定按钮跟随的必要条件 (contributed by @kunghim)
- 🐛 fix(brand-icon): 移除窗口 RelaunchIconResource,修复任务栏按钮通用图标 (contributed by @kunghim)
- 🐛 fix(brand-icon): 审查修复——重试取值、通知门控、归属预过滤与日志接线 (contributed by @kunghim)
- 🐛 fix(brand-icon): 修复更换图标全链路并恢复运行时切换能力 (contributed by @kunghim)
⚡ 性能优化
- ⚡️ perf(driver-agent): Kafka、RocketMQ、Pulsar 改为按需下载的驱动代理,主程序减少约 12.6 MB
- ⚡️ perf(frontend-embed): 前端产物改为 brotli 固实压缩嵌入,安装包与安装后体积各减约 2.1 MB
- ⚡️ perf(assets): 原地瘦身过大的数据库、AI 供应商 Logo 与默认品牌图标
- ⚡️ perf(brand-icon): 0.9.7 吉祥物改为远端按需加载,安装包与安装后体积各减约 2.5 MB
- ⚡️ perf(driver-release): 驱动总包改用 7z 快速档并并行生成单驱动包,打包耗时低于原 ZIP 流程
- ⚡ perf(brand-icon): 全局图标广播改为按需发送,未固定用户切换零闪烁 (contributed by @kunghim)
♻️ 重构
- ♻️ refactor(document-rest): 抽出搜索引擎类数据源共用的 REST 控制台解析与结果转表
- ♻️ refactor(datasource): 抽出描述表 HTTP 驱动共用的连接配置与 WHERE 解析
- ♻️ refactor(jmx-helper): 拆分 JmxRuntime 为同包职责类并重新生成内嵌 jar
- ♻️ refactor(styles): 将超大样式表拆为 @import 索引与分区分片
- ♻️ refactor(data-sync): 拆分 DataSyncMappingTable 的对象选择器与状态辅助到 mappingTable/
- ♻️ refactor(data-grid): 拆分 useDataGridV2Actions 为 dataGrid/v2Actions 下的子 hook
- ♻️ refactor(monaco-editor): 拆分 MonacoEditor 的安装与兜底逻辑到 monacoEditor/
- ♻️ refactor(import-preview): 拆分 ImportPreviewModal 为 importPreview/ 下的 hook
- ♻️ refactor(jvm-resource): 拆分 JVMResourceBrowser 为 jvm/resourceBrowser/ 下的 hook 与辅助模块
- ♻️ refactor(definition-viewer): 拆分 DefinitionViewer 为 definitionViewer/ 下的 hook
- ♻️ refactor(data-grid-shell): 拆分 DataGridShell 为 dataGrid/shell 下的 hook 与子组件
- ♻️ refactor(data-import): 拆分 DataImportWorkbench 为 dataImport/ 下的 hook 与子组件
- ♻️ refactor(message-queue): 拆分 MessageQueueWorkbench 为 messageQueue/ 下的 hook 与子组件
- ♻️ refactor(jvm-diagnostic): 拆分 JVMDiagnosticConsole 为 jvm/diagnosticConsole/ 下的 hook 与辅助模块
- ♻️ refactor(data-grid): 拆出单元格选区交互到 dataGrid/batchActions
- ♻️ refactor(ai-chat): 拆分运行事件投影逻辑到 ai/runEvents/
- ♻️ refactor(ai-chat): 拆分 AIChatPanel 为 ai/chatPanel/ 下的 hook
- ♻️ refactor(nacos-service): 拆分 NacosServiceViewer 为 nacosServiceViewer/ 下的 hook 与子组件
- ♻️ refactor(app-update): 拆分 useAppUpdateManager 为 hooks/appUpdate/ 下的子 hook
- ♻️ refactor(data-viewer): 拆分 DataViewer 为 dataViewer/ 下的 hook 与辅助模块
- ♻️ refactor(native-detached): 拆分 NativeDetachedWindowApp 为 nativeDetachedWindow/ 下的 hook 与子组件
- ♻️ refactor(table-overview): 拆分 TableOverview 为 tableOverview/ 下的 hook
- ♻️ refactor(ai-settings): 拆分 AISettingsContent 为 aiSettings/ 下的 hook
- ♻️ refactor(data-sync): 拆分 DataSyncTaskEditor 的阶段组件到 taskEditor/
- ♻️ refactor(main): 拆出浏览器 Mock 运行时到 src/dev/browserMock
- ♻️ refactor(nacos-viewer): 拆分 NacosViewer 为 nacosViewer/ 下的 hook 与子组件
- ♻️ refactor(data-grid-core): 拆分 DataGridCore 为 dataGrid/core 下的主题模块
- ♻️ refactor(tab-manager): 拆分 TabManager 为 tabManager/ 下的 hook 与子组件
- ♻️ refactor(table-export): 拆分 TableExportWorkbench 为 tableExport/ 下的 hook 与子组件
- ♻️ refactor(data-sync): 拆分 DataSyncWorkbenchShell 为 workbenchShell/ 下的 hook 与子组件
- ♻️ refactor(data-sync-modal): 拆分 DataSyncModal 为 dataSyncModal/ 下的 hook 与子组件
- ♻️ refactor(table-designer): 拆分 TableDesigner 为 tableDesigner/ 下的 hook 与子组件
- ♻️ refactor(data-grid): 拆分 DataGrid 组件主体为 dataGrid/hooks 下的 hook
- ♻️ refactor(app): 拆分 App.tsx 为 appShell 下的 hook、布局子组件与设置面板模块
- ♻️ refactor(query-editor): 拆分 QueryEditor 为 hook、子组件与补全/执行模块
- ♻️ refactor(store): 拆分 store.ts 为 store/ 下的模块与 slice
- ♻️ refactor(sidebar): 拆分树加载、节点菜单、对象操作与外部 SQL 工作流
- ♻️ refactor(sidebar): 拆分 Sidebar 组件为 hook 与子组件
- ♻️ refactor(connection-modal): 拆分 ConnectionModal 与 ConnectionModalStep2
- ♻️ refactor(driver-manager): 拆分 DriverManagerModal 组件为 hook 与子组件
- ♻️ refactor(redis-viewer): 拆分 RedisViewer 组件为 hook 与子组件
- ♻️ refactor(frontend): 按主题拆分超 1000 行的前端 helper 与工具模块
- ♻️ refactor(go): 按主题拆分超 1000 行的 Go 源文件
🌐 国际化
- 🌐 i18n(ai): 新增内置 AI、图片识别、上下文圆环与使用准则文案
🔧 其他变更
- 🔧 chore(release): 准备 v1.1.0 发布
- 🔧 chore(driver-agent): 重新生成驱动代理修订号
- 📝 docs(readme): 支持的数据源列表补上本次接入的 19 个数据源
- ✅ test(datasource-transfer): 新增导出、备份恢复、导入与迁移的端到端实测
- 🔧 chore(driver-agent): 新增 Typesense 驱动代理修订号并重算 Meilisearch
- 🔧 chore(driver-agent): 新增 Meilisearch 驱动代理修订号
- 🔧 chore(driver-agent): 重算 Firebird 驱动代理修订号
- 🔧 chore(driver-agent): 重算驱动代理修订号(rebase 后全量重算并加入崖山)
- 🔧 chore(driver-agent): 整理 go.mod 并重算全部驱动代理修订号
- 🎨 style(datasource-icons): 已接入的描述表数据源换用官方 SVG 图标
- 🔧 chore(tools): 驱动修订号按仓库源码的 LF 内容计算
- 🔧 chore(wails): 同步 ConnectionConfig.driverVariant 自动生成的 TS 绑定
- ✅ test(driver-package): revision 不匹配用例改为读取当前构建的期望值
- 🔧 chore(download-mirror): brand-assets 规则放行吉祥物的 WebP / PNG 资源
- 📝 docs(brand-icon): 设置项标题改回「品牌图标」 (contributed by @kunghim)
- ✅ test(frontend): 统一 CSS 读取行尾并预热 ConnectionModal 网络场景用例
- ✅ test(query-editor): 拆分 6,085 行的 QueryEditor.results-and-drop 测试为 6 个场景文件
- ✅ test(data-grid): 拆分 DataGrid.ddl 测试为 5 个场景文件
- ✅ test(sidebar): 拆分 Sidebar.locate-toolbar 测试为 3 个场景文件
- ✅ test(connection-modal): 拆分 ConnectionModal.i18n 测试并收敛共享 mock 与钩子
- ✅ test(query-editor): 拆分 17,967 行的 QueryEditor.external-sql-save 测试为 17 个场景文件
- ✅ test(frontend): 按场景拆分 Nacos/独立窗口/Redis/导出/i18n/DataGrid 布局等超 1500 行测试
- ✅ test(frontend): 按场景拆分 store/侧栏定位/数据同步/查询辅助等超 1500 行测试
- 📝 docs(brand-icon): 帮助文案如实说明固定按钮 1.5 秒跟随与桌面整体刷新 (contributed by @kunghim)
- ✅ test(driver-manager): 预热组件模块转换缓存避免首个用例冷编译超时
- ✅ test(go): 按场景拆分超 1500 行的 Go 测试文件
- chore(docs): refresh star history chart [skip ci]
- 🎨 style(ai-chat): 移除助手面板头部图标,避免与聊天区图标重复且颜色不一致
- 🔧 chore(wails): 重新生成内置 AI、图片识别与上下文试算的前端绑定
- chore(docs): refresh star history chart [skip ci]
- chore(docs): refresh star history chart [skip ci]
- 🔧 chore(docs): 将需求追踪目录移出版本库,仅保留本地
- 📝 docs(brand-icon): 设置帮助文案如实说明 Windows 固定任务栏按钮的刷新时机 (contributed by @kunghim)
- Reapply "🔧 test(brand-icon): 恢复 RelaunchIconResource 属性断言" (contributed by @kunghim)
- Revert "🔧 test(brand-icon): 恢复 RelaunchIconResource 属性断言" (contributed by @kunghim)
- 🔧 test(brand-icon): 恢复 RelaunchIconResource 属性断言 (contributed by @kunghim)
完整变更: v1.0.1...v1.1.0
macOS 安装提示
此版本的 macOS DMG 使用 ad-hoc 签名,未进行 Apple 公证。首次打开可能被 Gatekeeper 拦截;请确认来源后,在 Finder 中按住 Control 点击应用并选择“打开”。