Skip to content

release: v0.21.0 - #451

Merged
feigeCode merged 10 commits into
mainfrom
dev
Oct 22, 2026
Merged

feigeCode merged 10 commits into
mainfrom
dev

Conversation

@feigeCode

Copy link
Copy Markdown
Owner

发布 v0.21.0

发布 PR:把 dev 合入 main,带上 v0.20.4 之后的全部改动,以及双语 CHANGELOG.md 条目与版本号 bump(main/Cargo.toml、Cargo.lock → 0.21.0)。

新增:

修复:

本地校验:

  • script/changelog.py validate --tag v0.21.0 通过,extract 往返与源 notes 完全一致
  • cargo metadata --no-deps 显示 main = 0.21.0(main/Cargo.toml 与 Cargo.lock 一致)

本 PR 除发布元数据外还包含 dev 上尚未进 main 的代码改动(断连重连、表设计器复制 SQL 等),因此按全量平台矩阵跑 CI。

「事务: 自动」的查询页签会钉住第一次执行时建的会话,之后每条语句都复用同一条
物理连接。该会话 in_flight 恒大于 0,连接池的空闲回收与复用前 ping 都碰不到它,
空闲期被服务端或防火墙掐断后,页签手里就是一条死连接。而 PG/MySQL 驱动把断连包
成 Ok(SqlResult::Error { "connection closed" }),connection_lost 信号只在 Err 时
置位,于是编辑器一直复用死连接,每次执行都在几毫秒内失败。

- ConnectionManager::reconnect_session:只替换会话的物理连接,会话 id、池内位置、
  close_on_release 保持不变,页签与会话状态都不必重建;死连接直接丢弃,不再等
  优雅 disconnect 超时;会话记住的 schema 会在新连接上重放,不丢 issue #433 的
  search_path 语义。
- GlobalDbState::execute_session:结果全是「语句发送前就已断连」且调用方允许时,
  就地重连并重试一次;重连失败则原样返回第一次的真实错误。
- ExecOptions::reconnect_on_lost_connection(默认 false):只有粘性查询会话打开。
- 中途断连不重试:broken pipe / unexpected EOF / reset 无法判断语句是否已执行,
  重放会造成重复写入。
- 手动事务不重试:新连接没有事务上下文,静默重跑会把语句挪到事务外。
- 结果层兜底:Ok 结果里出现连接级错误也置位 connection_lost,下次执行前重建会话。
合入 dev 做整体联调(启动验证后再决定是否合 main)
…connection

合入 dev 做整体联调(启动验证后再决定是否合 main)
合入 dev 做整体联调(启动验证后再决定是否合 main)
#447 给 ExecOptions 新增该字段后漏改 builtin-duckdb 特性下的用例,
--features builtin-duckdb 编译失败(E0063)。
- 复制入口从预览/DDL 页签内容区挪到工具栏,只有这两个页签才出现,紧挨「保存」
- SQL 预览与 DDL 编辑器由 disabled 改为 readonly,用户可以直接选中片段复制
- 修正词条:Query.copy_sql/Query.sql_copied 并不存在(界面直接显示字面 key),改用新增的 Table.copy_sql / Table.sql_copied
- 补回归测试:词条存在性、只读态、按钮位于保存左侧、列页签不渲染按钮
- CHANGELOG.md 新增 v0.21.0 双语发布说明(更新内容 6 条 / 修复与优化 12 条)
- main/Cargo.toml 与 Cargo.lock 版本号 bump 到 0.21.0
- AI 访问策略只随连接云同步,去掉「导入导出」(导入协议无该字段)
- 连接树只有「最近连接」与「未分组」分区可折叠,「分组」标题是纯标签
- 运行态 UI 字面量对齐为「运行中...」/ "Running..."
- ClickHouse 扩展驱动升级为破坏性变更,标题里直接提示需先安装驱动
@feigeCode
feigeCode merged commit 8dc9637 into main Oct 22, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant